MathPython494484 views
LaTeX959469 views
小学社会309213 views
ヒストリア287206 views
雑学1473147 views
いろは2999314 views
高校生物550625 views
小学理科718445 views
中学社会667702 views
Computer366612 views

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 run

FLASK_DEBUG=1 を設定するとデバッグモードが有効になる。本番環境では必ず無効にすること。