Flaskを使用してWebアプリケーションを開発する際には、以下の手順でアプリケーションを構成し、起動します。本記事では、app.py
での基本的な設定と起動方法を解説します。
アプリケーションの初期化
アプリケーションを初期化するには、create_app
関数を使用します。この関数は、以下のような役割を持ちます:
- データベース設定の初期化
- ログ出力先の指定
- 設定ファイルの読み込み
initファイルにcreate_app関数を書くことで、初期設定を全てここにまとめることができます。
アプリの立ち上げには、設定ファイルやデータベース接続先を伝えないといけません。これをinitファイルのcreate_app関数にまとめると、設定が整理されて管理しやすいです。
詳しくは initファイルの解説をご覧ください!
create_app関数を定義
initファイルに、アプリ立ち上げに関わるcreate_app関数を定義します。
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
db = SQLAlchemy()
migrate = Migrate()
def create_app():
app = Flask(__name__)
app.config.from_pyfile('config/settings.cfg')
# データベースとアプリケーションの関連付け
db.init_app(app)
migrate.init_app(app, db)
return app
アプリケーションインスタンスの作成
作成したcreate_app関数を使ってアプリケーションインスタンスを生成します。
app.py
from flaskr import create_app
app = create_app()
if __name__ == "__main__": # このスクリプトが直接実行された場合にのみサーバーを起動。
app.run(debug=True) # デバッグモードで実行し、コード変更時の自動再読み込みやエラー情報を提供。
まとめ
initファイルに設定だけ書いて、app.pyで起動する手順を踏むことで、効率的にFlaskアプリケーションを開発できます。さらに複雑な要件がある場合でも、この構成をベースにカスタマイズを行うことで、拡張性のあるアプリケーションを構築できます。
Flaskアプリ開発の全てがここに!アプリ構成の全てはこちらをご覧ください!