中学理科1626207 views
中学数学621382 views
高校国語785655 views
小学理科717236 views
ヒストリア284143 views
高校化学2913383 views
数学講師2852771 views
雑学1472593 views
中学英語808712 views
LaTeX957300 views
Help
Tools

English

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 を設定するとデバッグモードが有効になる。本番環境では必ず無効にすること。