Существует ошибка (https://github.com/boto/boto/issues/3837) в boto, которая не позволяет ему нормально работать с S3 в работе (хотя он и работает в разработке). Как можно было бы установить разветвленную версию boto в существующий проект? или, возможно, перенести заполненные хранилища на boto3? Возможно ли вообще без повторной загрузки / переназначения всей моей коллекции? и даже так, работает ли django-photologue с boto3?
Я ссылаюсь на этот код из файла settings.py, как описано в руководствах по хранению django-photologue s3:
# S3Boto storage settings for photologue example project.
import os
DEFAULT_FILE_STORAGE = 'example_storages.s3utils.MediaS3BotoStorage'
STATICFILES_STORAGE = 'example_storages.s3utils.StaticS3BotoStorage'
AWS_S3_HOST = 's3-us-west-2.amazonaws.com'
AWS_S3_OBJECT_PARAMETERS = {
'Expires': 'Thu, 31 Dec 2099 20:00:00 GMT',
'CacheControl': 'max-age=94608000',
}
try:
# If you want to test the example_project with S3, you'll have to configure the
# environment variables as specified below.
# (Secret keys are stored in environment variables for security - you don't want to
# accidentally commit and push them to a public repository).
AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
AWS_STORAGE_BUCKET_NAME = os.environ['AWS_STORAGE_BUCKET_NAME']
except KeyError:
raise KeyError('Need to define AWS environment variables: '
'AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_STORAGE_BUCKET_NAME')
# Default Django Storage API behavior - don't overwrite files with same name
AWS_S3_FILE_OVERWRITE = False
MEDIA_ROOT = '/media/'
MEDIA_URL = 'http://%s.s3-us-west-2.amazonaws.com/media/' % AWS_STORAGE_BUCKET_NAME
STATIC_ROOT = '/static/'
STATIC_URL = 'http://%s.s3-us-west-2.amazonaws.com/static/' % AWS_STORAGE_BUCKET_NAME
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'