いろは3010164 views
中学社会668702 views
小学算数1200301 views
高校化学2924053 views
Computer368033 views
高校日本史190552 views
LaTeX962016 views
高校物理160088 views
数学講師2885293 views
中学数学623714 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 を設定するとデバッグモードが有効になる。本番環境では必ず無効にすること。