Указание на несколько S3 buckets в s3boto

В 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 bucket static.mysite.com и работает нормально, когда я делаю manage.py collectstatic, он загружает все статические файлы в мой bucket. Однако у меня есть другое ведро, которое я использую для различных целей и хотел бы использовать в определенных областях веб-сайта, например, если у меня есть модель вроде этой:

class Image(models.Model):
    myobject = models.ImageField(upload_to='my/folder')

Теперь, когда вызывается Image.save(), он все равно загрузит файл в ведро S3 в AWS_STORAGE_BUCKET_NAME, однако я хочу, чтобы это Image.save() указывало на другое ведро S3. Есть чистый способ сделать это? Я не хочу изменять settings.py во время выполнения и не хочу применять никаких практик, нарушающих ключевые принципы django, т.е. наличие подключаемого легко изменяемого бэкенд-хранилища.

14
задан juliomalegria 7 February 2012 в 17:01
поделиться