对于开发,似乎您希望在数据库的配置文件中具有localhost值。但是我也希望有一个生产设置。
似乎在这里讨论它:http://flask.pocoo.org/docs/0.10/config/#configuring-from-files
它推荐这种方法:
app = Flask(__name__)
app.config.from_object('config')
app.config.from_envvar('YOURAPPLICATION_SETTINGS')
export YOURAPPLICATION_SETTINGS=/path/to/settings.cfg
我的问题是,为什么你不直接指向生产文件,而不是指向指向配置位置的envvar。这似乎是一个不必要的步骤。
app = Flask(__name__)
app.config.from_object('config')
app.config.from_envvar('config_production')
答案 0 :(得分:1)
不确定这是否被认为是“首选”方法(许多人有不同的偏好),但我所说的有益的是,您不必触摸环境中的代码来更新其配置。例如,如果您使用的是heroku,则可以执行heroku config:set YOURAPPLICATION_SETTINGS=/path/
。在各种环境中风险更小,更易于处理。
答案 1 :(得分:0)
似乎它会使生成的应用程序的维护变得更容易系统管理员,他们可能不了解Flask甚至python!
所以,如果你在环境变量中设置一个熟悉的术语,那将更容易;)