Flask アプリケーションの基本構造
Flask アプリケーションは、最小構成であれば1つの Python ファイルで動作する。まずは基本的な構造を理解しよう。
最小構成
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)Flask(__name__) でアプリケーションインスタンスを作成する。__name__ を渡すことで、Flask はテンプレートや静的ファイルの配置場所を正しく認識できる。
app.run(debug=True) で開発サーバーが起動する。debug=True にすると、コード変更時に自動リロードされ、エラー時にはデバッガが表示される。
典型的なディレクトリ構成
アプリケーションが大きくなると、以下のような構成が一般的になる。
myapp/
├── app.py
├── config.py
├── static/
│ ├── css/
│ └── js/
├── templates/
│ ├── base.html
│ └── index.html
└── requirements.txt| app.py | アプリケーション本体 |
| config.py | 設定ファイル |
| static/ | CSS、JavaScript、画像などの静的ファイル |
| templates/ | Jinja2 テンプレートファイル |
| requirements.txt | 依存パッケージの一覧 |
環境変数による起動
flask run コマンドで起動する場合は、環境変数 FLASK_APP を設定する。
export FLASK_APP=app.py
export FLASK_DEBUG=1
flask runFLASK_DEBUG=1 を設定するとデバッグモードが有効になる。本番環境では必ず無効にすること。



