【发布时间】:2013-06-25 23:38:07
【问题描述】:
我遇到了一个非常奇怪的问题。
我的 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')
例如,它打印变量的值。
这有什么线索???
提前谢谢你
【问题讨论】: