高校日本史190903 views
教育149914 views
高校倫理1443364 views
小学社会311307 views
中学数学624816 views
世界の国566722 views
雑学1474079 views
りんご217404 views
中学社会669775 views
高校生物552825 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 を設定するとデバッグモードが有効になる。本番環境では必ず無効にすること。