一尘不染

在Heroku中为flask应用设置环境变量

flask

我有一个flask应用程序,该应用程序将不同的配置文件用于开发和生产环境。相关的代码段是这样的:

app.config.from_object('config.dev')
app.config.from_envvar('SPOTPIX_SETTINGS', silent=True)

当我在本地服务器上进行开发时,配置取自config.dev,但是当我将代码推送到heroku时,我想将SPOTPIX_SETTINGS环境变量设置为指向“ config.prod”文件。这可以在heroku命令行客户端中完成,如下所示:

heroku config:set SPOTPIX_SETTINGS= 

但是,我不知道应该在等号右边写什么,因为我无法将生产配置文件的绝对路径分配给环境变量,因为在heroku中这与在我的环境中是不同的开发机器。


阅读 546

收藏
2020-04-07

共1个答案

一尘不染

你应该使用a env variable查看你是否在dev或heroku中。

heroku config:set IS_HEROKU=True 

然后在你的文件中

import os
is_prod = os.environ.get('IS_HEROKU', None)

if is_prod:
    #here goes all your heroku config
2020-04-07