如何啟動 Flask 應用程式:綜合指南

Susan Sarandon
發布: 2024-09-26 07:28:22
原創
392 人瀏覽過

How to Start a Flask Application: A Comprehensive Guide

如果您像我一樣,您可能已經見過幾種啟動 Flask 應用程式的不同方法,並且想知道哪一種是最好的。有時,您會遇到manage.py,有時,您會看到create_app。這可能會導致混亂,特別是如果您是 Flask 開發新手或從一個專案過渡到另一個專案時。

在本文中,我將引導您了解啟動 Flask 應用程式的最常用方法,並用清晰的範例對其進行分解,以便您可以決定哪種方法最適合您的用例。

方法一:基本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:將manage.py與Flask-Script結合使用

儘管 Flask-Script 已被棄用,取而代之的是 Flask 的內建命令列介面 (CLI),但一些遺留應用程式仍然使用 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 來實現類似的功能。

方法四:使用Gunicorn進行生產

將 Flask 應用程式部署到生產環境時,您需要使用像 Gunicorn 這樣的 WSGI 伺服器,而不是 Flask 的內建開發伺服器。

以下是如何使用 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!