我正在尝试使用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
编辑:我使用控制台手动连接到我的s3使用id和密钥和工作良好。这就是我所做的import boto
boto.s3_connect(id, key)
和工作。有什么问题吗,姜戈?
找到解决方案。拼错了key变量。将AWS_ACCESS_SECRET_KEY
更改为AWS_SECRET_ACCESS_KEY
,一切正常