簡體   English   中英

燒瓶生產開發模式

[英]flask production and development mode

我用flask開發了一個應用,想發布到生產環境,但是不知道生產環境和開發環境(數據庫和代碼)怎么分離,有沒有文檔可以幫我或者代碼。 我在 config.py 文件中指定了兩個環境,但我不知道如何處理。

class DevelopmentConfig(Config):
    """
    Development configurations
    """
    DEBUG = True
    SQLALCHEMY_ECHO = True
    ASSETS_DEBUG = True
    DATABASE = 'teamprojet_db'
    print('THIS APP IS IN DEBUG MODE. YOU SHOULD NOT SEE THIS IN PRODUCTION.')


class ProductionConfig(Config):
    """
    Production configurations
    """
    DEBUG = False
    DATABASE = 'teamprojet_prod_db'

使用的一種約定是在啟動應用程序之前指定環境變量。

例如

$ ENV=prod; python run.py

在您的應用程序中,您檢查該環境變量的值以確定要使用的配置。 在你的情況下:

run.py

import os
if os.environ['ENV'] == 'prod':
    config = ProductionConfig()
else:
    config = DevelopmentConfig()

還值得注意的是,聲明

print('THIS APP IS IN DEBUG MODE. YOU SHOULD NOT SEE THIS IN PRODUCTION.')

打印無論您設置哪個ENV ,因為解釋器在運行腳本的其余部分之前執行類定義中的所有代碼。

添加到丹尼爾的答案:

Flask 在其文檔中有一個頁面討論了這個問題。

由於您已經在類中指定了配置,因此您將使用app.config.from_object('configmodule.ProductionConfig')加載配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM