在Django / Python中使用os.environ无法访问Heroku的配置变量

时间:2018-10-10 17:44:34

标签: python django heroku

我在Heroku上托管了Django应用,并且我不希望GitHub中可见settings.py文件中的数据库凭据。相反,我希望可以在Heroku的config vars中访问它们。 Heroku的文档说,可以像这样在Python代码中访问配置变量:

from boto.s3.connection import S3Connection
s3 = S3Connection(os.environ['S3_KEY'], os.environ['S3_SECRET'])

所以我这样设置相关的配置变量:

heroku config:set PASSWORD=madeuppassword

我试图在源代码中访问config vars,就像这样说:

DATABASES = {
    'default': {
        'ENGINE': os.environ['ENGINE'],
        'NAME': os.environ['NAME'],
        'USER': os.environ['USER'],
        'PORT': os.environ['PORT'],
        'PASSWORD': os.environ['PASSWORD'],
        'HOST': os.environ['HOST']
    }
}

但是,当运行服务器时,在命令提示符下出现此错误:

raise KeyError(key) from None
KeyError: 'ENGINE'

据我所知,我设置并访问了Heroku的配置变量,正如他们在文档中所展示的那样,但是我一直收到此错误。不断出现此错误可能是我做错了什么?

感谢您的帮助!

0 个答案:

没有答案