В settings.py
у меня есть:
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'xxxxxxxxxxxxx'
AWS_SECRET_ACCESS_KEY = 'xxxxxxxxxxxxx'
AWS_STORAGE_BUCKET_NAME = 'static.mysite.com'
Это указывает на мой ведро S3 static.mysite.com
и отлично работает, когда я делаю manage.py collectstatic
, он загружает все статические файлы в мое ведро. Однако у меня есть другое ведро, которое я использую для разных целей и хотел бы использовать в определенных областях веб-сайта, например, если у меня есть такая модель:
class Image(models.Model):
myobject = models.ImageField(upload_to='my/folder')
Теперь, когда вызывается Image.save()
, он все равно загружает файл в ведро S3 в AWS_STORAGE_BUCKET_NAME
, однако я хочу, чтобы этот Image.save()
указывал на другой ведро S3. Любой чистый способ сделать это? Я не хочу изменять settings.py
во время выполнения и не применять какие-либо действия, которые нарушают ключевые принципы django, т.е. Иметь подключаемое легко изменяемое бэкэнд-хранилище.