我使用s3来记录我的静态文件,并使用django-storages来为它们提供服务。
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_STORAGE_BUCKET_NAME = 'mybucket'
STATIC_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
我尝试在heroku上部署我的应用程序,为了验证我的进程访问S3,可以设置访问凭据:
export AWS_ACCESS_KEY_ID=<key ID>
export AWS_SECRET_ACCESS_KEY=<key>
这适用于heroku。
我尝试使用相同的webfaction方法,但总是会出现以下错误:
NoAuthHandlerFound at /admin/
No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials
所以我的问题是:如何正确设置凭证作为环境。我可以通过gunicorn访问S3上的文件的变量。
请注意,我只想通过gunicorn进程凭据。我不想将它们存储在配置中。文件。
答案 0 :(得分:2)
我对webfaction一无所知,但boto也会在boto配置文件中查找凭据。默认情况下,它会在/etc/boto.cfg
和~/.boto
中查找。此文件是INI样式的配置文件,您需要添加如下凭据:
[Credentials]
aws_access_key_id = <key ID>
aws_secret_access_key = <key>