ユーザーがアップロードした画像をS3バケットに接続して、画像がそこに保存されるようにします。djangoストレージの使用(いくつかの調査を行いましたが、誰もが提案したように見えましたが、アイデアはオープンです)
これが私がしたことです:
インストールされたdjangoストレージ
pip install django-storages
INSTALLED_APPSに追加しました
#settings.py
INSTALLED_APPS = (
...
'storages',
)
そして、このコードもsettings.pyに追加しました
#settings.py
DEFAULT_FILE_STORAGE = 'storages.backends.s3.S3Storage'
AWS_ACCESS_KEY_ID = '#################'
AWS_SECRET_ACCESS_KEY = '#######################'
AWS_STORAGE_BUCKET_NAME = 'mybucketname'
次に、シェルを開き、これを実行して確認します
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
リンクは404エラーにつながります。ドキュメントに従って、DEFAULT_FILE_STORAGEを設定する3つの方法すべてを試しましたが、いずれも機能しません。下記参照。
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.
どうすればこれを正しく設定できますか?