-
Notifications
You must be signed in to change notification settings - Fork 8
02 ディレクトリ構成
Yoshiya edited this page Apr 1, 2016
·
4 revisions
flask でのディレクトリ構成は完全に自由です。 Ruby on Rails の MVC を真似て構成しても良いし、 Django の MTV 形式を真似てもいいでしょう。 ここでは、 MTV での方式を紹介します。
application/
|- server.py # サーバの起動スクリプト
|- tasks.py # バッチのインターフェースやタスクランナーを記述
|- tools/ # バッチや、CLIツールをココに
|- config/ # 設定ファイル
|- __init__.py
|- development.py
|- production.py
|- app/
|- __init__.py
|- models/
|- views/
|- statics/ # 静的ファイル
|- css/
|- js/
|- img/
|- templates/
|- migrations/ # flask-alembic を用いる場合の migration ファイル
|- tests/ # noseテスト モデルとビューとモックデータ
|- models/
|- views/
|- mocks/
|- venv/ # pyvenv 環境 gitignore しましょう
|- lib/
|- bin/
|- include/
|- man/
statics/ のディレクトリはクライアントサイドのフレームワークに合わせて修正するなどをするといいでしょう。 その際、 SPA であれば、 templates に一枚だけの HTML ページをレンダリングし、そこで使う js や css を宣言し、後はクライアントサイドのフレームワークで組んでいきましょう。
WEB-API だけを公開する場合、 views の部分で json だけを返す API として作成すると、ネイティブアプリ、 web アプリ両方に対応出来るようにするといいでしょう。