我在Heroku上部署Django应用程序有困难。
出现这个问题是因为我使用的是图书馆。我使用它是为了不暴露我的API_KEYS。
这是我正在犯的错误:
File "/app/weather/settings.py", line 20, in <module>
API_KEY = config('API_KEY')
File "/app/.heroku/python/lib/python3.6/site-packages/decouple.py", line 197, in __call__
return self.config(*args, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/decouple.py", line 85, in __call__
return self.get(*args, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/decouple.py", line 70, in get
raise UndefinedValueError('{} not found. Declare it as envvar or define a default value.'.format(option))
decouple.UndefinedValueError: API_KEY not found. Declare it as envvar or define a default value.我已经将所有变量存储在BASE_DIR + '/.env'文件中,并将该文件添加到我的.gitignore文件中。
这个问题的解决办法是什么?
发布于 2017-09-17 19:57:22
您将无法从Heroku上没有跟踪的文件中加载设置。它的文件系统是短暂的;当您的dyno重新启动时,您手动添加到其中的任何内容都将丢失。这个频繁发生。
"Heroku路“是去将设置放在环境变量中。的。所有dynos都可以使用环境变量,并且有两个主要好处:
高兴的是,尊重3.0版以来的环境变量。您应该能够为所有设置添加环境变量,然后成功部署。(我以前没有使用过这个库,但如果您的所有设置都在环境中找到,则看起来不需要.env文件。)
https://stackoverflow.com/questions/46267799
复制相似问题