aga*_*430 14 python django amazon-s3 amazon-web-services python-django-storages
嘿所以试图将我的用户上传的图像连接到我的S3存储桶,以便图像存储在那里.使用django存储(进行了一些研究,似乎是每个人都建议的,但对想法持开放态度)
这是我做的:
安装了django存储
pip install django-storages
Run Code Online (Sandbox Code Playgroud)
将它添加到我的INSTALLED_APPS中
#settings.py
INSTALLED_APPS = (
...
'storages',
)
Run Code Online (Sandbox Code Playgroud)
并将此代码添加到settings.py中
#settings.py
DEFAULT_FILE_STORAGE = 'storages.backends.s3.S3Storage'
AWS_ACCESS_KEY_ID = '#################'
AWS_SECRET_ACCESS_KEY = '#######################'
AWS_STORAGE_BUCKET_NAME = 'mybucketname'
Run Code Online (Sandbox Code Playgroud)
然后我打开shell并运行它来检查
from django.core.files.storage import default_storage
print default_storage.connection
...
ImproperlyConfigured: Could not load amazon's S3 bindings.
See http://developer.amazonwebservices.com/connect/entry.jspa?externalID=134
Run Code Online (Sandbox Code Playgroud)
该链接导致404错误.一直关注文档并尝试了所有3种方法来设置DEFAULT_FILE_STORAGE,但它们都不起作用.见下文.
DEFAULT_FILE_STORAGE = 'libs.storages.backends.S3Storage.S3Storage'
ImproperlyConfigured: Error importing storage module libs.storages.backends.S3Storage
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
ImproperlyConfigured: Could not load Boto's S3 bindings.
Run Code Online (Sandbox Code Playgroud)
如何正确设置?
考虑使用 boto3 而不是旧的 boto:
要求.txt:
pip install django-storages
pip install boto3
Run Code Online (Sandbox Code Playgroud)
设置.py:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7021 次 |
| 最近记录: |