我使用的解决方案:
#__init__.pyapp = Flask(__name__)app.config.from_object('settings')app.config.from_envvar('MYCOOLAPP_CONFIG',silent=True)
在加载应用程序的同一级别上:
#settings.pySERVER_NAME="dev.app.com"DEBUG=TrueSECRET_KEY='xxxxxxxxxx'#settings_production.pySERVER_NAME="app.com"DEBUG=False
所以。如果环境变量MYCOOLAPP_CONFIG不存在->仅加载settings.py,这是指默认设置(对我来说
是开发服务器)这是“ silent = True”的原因,不需要第二个配置文件,而settings.py默认用于开发,并具有公共配置键的默认值
如果除第一个设置之外还将加载其他settings_file,它将覆盖原始设置中的值。(在我的示例中,DEBUG和SERVER_NAME将被覆盖,而SECRET_KEY对于所有服务器均保持不变)
您应该自己发现的唯一内容取决于启动应用程序的方式。
在启动ENVVAR之前,应设置MYCOOLAPP_CONFIG的设置
例如,我使用超级用户守护程序运行,并在生产服务器上将其放入超级用户配置文件中:
environment=MYCOOLAPP_ConFIG="/home/tigra/mycoolapp/settings_production.py"
通过这种方法,您可以轻松管理所有配置文件,并且可以从git或任何其他版本控制实用程序中排除此文件
启动之前,控制台中的默认Linux方式是:
export MYCOOLAPP_ConFIG="/home/tigra/mycoolapp/settings_production.py"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)