FlaskはPythonで書かれた軽量なウェブフレームワークで、そのフォルダ構成はプロジェクトの規模や要件によりますが、一般的な構成は以下の通りです。
flask_app
├── common
│ ├── libs
│ └── models --- モデル
│ ├── user.py
│ └ ・・・
├── config --- 設定フォルダ
│ ├── base_setting.py --- 各環境共通設定
│ ├── local_setting.py --- ローカル開発環境用設定
│ └ production_setting.py --- 本番環境用設定
├── controllers --- コントローラ
│ ├── index.py
│ └ ・・・
├── interceptors
│ ├── auth.py --- 認証系処理
│ └ error_handler.py --- エラー処理
├── static --- 静的ファイル置き場所
├── templates --- テンプレート
│ ├── common
│ │ └ layout.html
│ └ index.html
├── application.py --- 複数のファイルが利用するものを定義(Flaskインスタンス、DB、環境変数など)
├── manager.py --- アプリ実行用スクリプト(アプリの入り口)
├── requirements.py --- ライブラリ一覧
└── www.py --- ルーティング
この構成は、MVC(Model-View-Controller)パターンに基づいています。models
ディレクトリにはデータベースのモデルが、controllers
ディレクトリにはビジネスロジックが、templates
ディレクトリにはHTMLテンプレートが格納されます。
また、config
ディレクトリにはアプリケーションの設定が、static
ディレクトリには静的ファイル(CSSやJavaScript、画像など)が、interceptors
ディレクトリには認証やエラーハンドリングのためのコードが格納されます。
このような構成を理解し、適切に利用することで、Flaskでの開発がより効率的になります。