我已经开发了一个带烧瓶的应用程序,我想将它发布用于生产,但我不知道如何在生产和开发环境(数据库和代码)之间进行分离,有文件可以帮助我或代码。 我在config.py文件中指定了两个环境,但我不知道如何处理。
function abc(reqObject, callback){
request(reqObject, function(err,res){
if(err)
{
callback(err, null);
}
else
{
// <use this res for second req>
request(reqObject, function(err,res){
// <err,res handling here>
});
}
});
}
答案 0 :(得分:21)
使用的一个约定是在启动应用程序之前指定环境变量。
例如
$ 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
,因为解释程序在运行其余脚本之前执行类定义中的所有代码。
答案 1 :(得分:8)
添加丹尼尔的回答:
Flask has a page in its documentation that discusses this very issue.
由于您已在类中指定了配置,因此您将使用GHS12.1