Flask アプリケーションを開始する方法: 包括的なガイド

Susan Sarandon
リリース: 2024-09-26 07:28:22
オリジナル
411 人が閲覧しました

How to Start a Flask Application: A Comprehensive Guide

あなたも私と同じなら、おそらく Flask アプリケーションを開始するためのいくつかの異なるアプローチを見て、どれが最適なのか疑問に思ったことがあるでしょう。 manage.py が表示される場合もあれば、create_app が表示される場合もあります。これは、特に Flask 開発に慣れていない場合、またはあるプロジェクトから別のプロジェクトに移行している場合に混乱を招く可能性があります。

この記事では、Flask アプリケーションを起動するために使用される最も一般的な方法を説明し、明確な例を示して説明します。これにより、ユースケースに最適なものを判断できるようになります。

方法 1: 基本的な app.py ファイル

Flask アプリケーションを開始する最も簡単な方法は、app.py ファイルを作成することです。これは、小規模なアプリケーションや、Flask を使い始めたばかりの場合に最適です。

# app.py
from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Welcome to my Flask app!"

if __name__ == "__main__":
    app.run(debug=True)
ログイン後にコピー

実行方法:

ターミナルで、app.py を含むフォルダーに移動し、次のコマンドを実行します。

python app.py
ログイン後にコピー

Flask は localhost:5000 で起動し、ブラウザでアプリにアクセスできます。これは最も早い方法ですが、スケーリングには制限があります。

方法 2: create_app ファクトリ パターンを使用する

アプリケーションが成長するにつれて、create_app() を使用したファクトリ パターンがより便利になります。この方法では、モジュール形式でアプリを構成および初期化する方法が提供され、複雑なセットアップをより適切に管理できるようになります。

# app.py
from flask import Flask

def create_app():
    app = Flask(__name__)

    @app.route('/')
    def home():
        return "Hello from Factory Pattern!"

    return app
ログイン後にコピー

実行方法:

if __name__ == "__main__" ブロックがないため、FLASK_APP 環境変数を設定して実行します。

export FLASK_APP=app:create_app
export FLASK_ENV=development
flask run
ログイン後にコピー

この方法は、構成管理が容易になるため拡張性が高く、大規模なアプリケーションや拡張機能を使用するアプリケーションに適しています。

方法 3: Flask スクリプトで manage.py を使用する

Flask の組み込みコマンドライン インターフェイス (CLI) が優先され、Flask-Script は非推奨になりましたが、一部のレガシー アプリケーションでは依然として manage.py アプローチが使用されています。

# manage.py
from flask_script import Manager
from app import create_app

app = create_app()
manager = Manager(app)

if __name__ == "__main__":
    manager.run()
ログイン後にコピー

アプリケーションを実行するには:

python manage.py runserver
ログイン後にコピー

このメソッドは現在では時代遅れであると考えられているため、同様の機能については Flask の CLI に依存することをお勧めします。

方法 4: 生産に Gunicorn を使用する

Flask アプリケーションを運用環境にデプロイする場合、Flask の組み込み開発サーバーの代わりに Gunicorn などの WSGI サーバーを使用することをお勧めします。

Gunicorn で create_app メソッドを実行する方法は次のとおりです。

gunicorn 'app:create_app()'
ログイン後にコピー

これにより、Gunicorn を使用して Flask アプリが起動します。必要に応じて、ワーカー プロセスの数、ホスト、ポートを指定できます。

gunicorn -w 3 -b 0.0.0.0:8000 'app:create_app()'
ログイン後にコピー

方法 5: 組み込み CLI に flask run を使用する

Flask の CLI により、アプリの実行や移行などの他のコマンドの実行が簡素化されます。デフォルトの CLI は FLASK_APP および FLASK_ENV 環境変数を使用します。

export FLASK_APP=app.py
export FLASK_ENV=development
flask run
ログイン後にコピー

このコマンドは、ホット リロードとデバッグ モードを有効にして開発モードでアプリを実行します。開発には最適ですが、運用環境では使用しないでください。

どちらを使用するべきですか?

  • 小規模プロジェクトまたはプロトタイプ: 基本的な app.py メソッドは完全に機能します。
  • 大規模アプリケーション: 拡張機能や複雑な構成に合わせて拡張できるため、create_app ファクトリ パターンを選択してください。
  • 本番: Gunicorn または他の WSGI サーバーを使用して、複数のリクエストを同時に処理し、パフォーマンスを向上させます。

結論

これらのさまざまな方法を理解すると、Flask アプリケーションを開始する方法を柔軟に行うことができます。小規模なプロジェクトを構築する場合でも、大規模なシステムを導入する場合でも、ニーズに合った適切なアプローチが見つかります。それぞれの方法の要点を理解することで、アプリケーションを効率的に保守および拡張できるようになります。

自分にとってより効果的な別のアプローチを使用したことがありますか?コメント欄でお知らせください!

以上がFlask アプリケーションを開始する方法: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート