Flask Python3 で 戸田市 tocoちゃんバスあと何分? Webアプリ作成♪

Flask Python3 で 戸田市 tocoちゃんバスあと何分? Webアプリ作成♪

Flask(フラスク) とは

Flask Official Site を参照すると冒頭に以下の文章があります。

1
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions

Flask は Python の小規模なフレームワークで、 Werkzug や Jinja 2 をベースとしています。

何がいいの?

最小限の構成で簡単な Web アプリケーションが作成できることです。
django, Rails でも簡単に出来なくもないですが、さらに手順は短く容易です。

チュートリアル

1
2
3
4
5
6
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
return "Hello World!"

Flask を利用する判断基準

  • 大規模なプロジェクトでない。(ファイル構成は自分 or チームで決定する必要がある為)
  • DB を使わない。使うにしても複雑な DB 設計でない。
  • 利用するライブラリが Python 製でその gateway として利用したい。

手始めに!

初心者向け記事は多数あるので割愛し
学習がてら Web アプリケーション作ったのでそちらをどうぞ ♪

実際動くものとそのソースを見た方がイメージ湧くと思います。

toco ちゃんバス あと何分?

戸田市のローカルバス toco ちゃんバスの停留所を指定しあと何分で来るかをカウントダウンするアプリです。
自分が使うので作ったら割と広まってきて嬉しい限り ♪

1
2
※ちなみに戸田市役所に確認し非公式ではありますが公開許可をいただいております。
※戸田市役所ご担当者様より「可能であれば最新の迂回情報なども載せていただけたら〜」という要望も頂きました♪

ソースはこちら ♪

ソースを参照頂けるとやってみたことがわかりやすいと思います。

やってみたこと

  • docker で flask ローカル開発環境作成
  • config ファイルからデータ呼び出し (config.py)
  • session 機能
  • Bootstrap 適用
  • superagent.js で非同期通信
  • flickity.js でフリッカブルに

本番動作環境

  • さくら VPS CentOS 6
  • httpd2.4 + wsgi + virtualenv + python3

さくら VPS には CakePHP や SpringBoot のプロジェクトが乗っかっていたりとやりたい放題の環境として所持しています。

開発期間

ほぼほぼ 1 週間。仕事の昼休みと日曜大工で 10 時間足らずで公開出来ました。
どちらかというと js 側の学習コストが掛かった感じ。

総評

今回作成したユーザ情報を管理しない、
DB を持たないアプリにはうってつけでした。
構成が複雑になりすぎず丁度良かったです。

やはり大きな規模のプロジェクトには django が適しています。

個人的に戸田市役所に電話して Web アプリ公開の許可を頂く、
という承認申請が出来、地域貢献できる喜びが非常に大きかったです。

今後、バージョンアップしたいと思います。

Flask 利用に際して参考になれば何よりです。

以上です。

Flask Python3 で 戸田市 tocoちゃんバスあと何分? Webアプリ作成♪

https://kenzo0107.github.io/2017/07/06/2017-07-07-flask/

Author

Kenzo Tanaka

Posted on

2017-07-07

Licensed under

コメント