我正在尝试将django-storage与heroku和S3一起使用。所以我按照readthedocs的教程进行了操作。我按照它说的安装了所有内容,我从亚马逊控制台获取了我的ID和密钥,并尝试了以下代码:
settings.py
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'key_id'
AWS_ACCESS_SECRET_KEY = 'secret_key'
AWS_STORAGE_BUCKET_NAME = 'mybucket'
from django.core.files.storage import default_storage
>>> default_storage.__class__
<class 'django.core.files.storage.DefaultStorage'>
我不知道这是否是正常的回报值。然后我做了以下
default_storage.connection
我得到以下异常
NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials
我的设置有问题吗?代码在本地运行。想先在本地测试,然后将其上传到heroku
编辑:我使用控制台使用id和密钥手动连接到我的s3并且工作正常。这就是我所做的import boto
boto.s3_connect(id, key)
并且工作了。那可能是什么问题?Django?
答案 0 :(得分:1)
找到解决方案。错误的关键变量。刚刚将AWS_ACCESS_SECRET_KEY
更改为AWS_SECRET_ACCESS_KEY
,一切正常,