Flaskアプリケーションを起動する方法と構成のポイント

Flaskを使用してWebアプリケーションを開発する際には、以下の手順でアプリケーションを構成し、起動します。本記事では、app.pyでの基本的な設定と起動方法を解説します。

アプリケーションの初期化

アプリケーションを初期化するには、create_app関数を使用します。この関数は、以下のような役割を持ちます:

  • データベース設定の初期化
  • ログ出力先の指定
  • 設定ファイルの読み込み

initファイルにcreate_app関数を書くことで、初期設定を全てここにまとめることができます。
アプリの立ち上げには、設定ファイルやデータベース接続先を伝えないといけません。これをinitファイルのcreate_app関数にまとめると、設定が整理されて管理しやすいです。

詳しくは initファイルの解説をご覧ください!

Flaskにおける__init__.pyの役割と効果的な活用方法

PythonのFlaskを使ってWebアプリケーションを構築する際、__init…
benelop.jp

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アプリ開発の全てがここに!アプリ構成の全てはこちらをご覧ください!

Flask入門: Webアプリケーション開発の基礎ガイド

Webアプリケーションとは Webアプリケーションの定義 Webアプリケーション…
benelop.jp