Flask:如何管理不同的环境数据库?

Flask:如何管理不同的环境数据库?,第1张

Flask:如何管理不同的环境数据库?

我使用的解决方案:

#__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"



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存