我有一个非常奇怪的问题。
我有我的 django 项目在 Heroku 中运行,使用 S3 来存储我的静态资产。
我想通过如下设置来使用 Heroku 环境变量:
heroku config:add AWS_S3_TOKEN=my_s3_token
heroku config:add AWS_S3_SECRET=my_s3_secret
并将它们与 python 的 os 模块一起使用:
import os
token = os.getenv('AWS_S3_TOKEN')
secret = os.getenv('AWS_S3_SECRET')
但是heroku不断向我抛出以下错误:
NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials
所以,我最终在我的 settings.py 文件中编写了这些参数,它工作正常
为什么会这样?
如果我跑
heroku config
我可以看到我所有设置的变量,如果我这样做了
heroku run python manage.py shell
进而
import os
print os.getenv('AWS_S3_TOKEN')
例如,它打印变量的值。
有什么线索吗???
先感谢您