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触摸,即使我重新启动我的服务器(就好像它是两个不同的目录)。 –