2

我開發了一個應用程序與燒瓶,我想發佈它的生產,但我不知道如何分開生產和開發環境(數據庫和代碼),你有文檔幫助我或代碼。 我在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' 

回答

4

一個慣例是在啓動應用程序之前指定一個環境變量。

例如

$ 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你,因爲解釋的類定義之前執行的所有代碼集運行腳本的其餘部分。

+0

當然加載的配置我指定執行前的環境,但我想要的是當我在dev中修改時。環境我不希望prod觸摸,即使我重新啓動我的服務器(就好像它是兩個不同的目錄)。 –