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 にすると、コード変更時に自動リロードされ、エラー時にはデバッガが表示される。
典型的なディレクトリ構成
アプリケーションが大きくなると、以下のような構成が一般的になる。
| 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 run
FLASK_DEBUG=1 を設定するとデバッグモードが有効になる。本番環境では必ず無効にすること。