14
在settings.py
我:指向多个S3水桶s3boto
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()
,它仍然会将文件上传到AWS_STORAGE_BUCKET_NAME
中的S3存储桶,但是我希望这个Image.save()
指向另一个S3存储桶。任何干净这样做的方式?我不想在运行时更改settings.py
,也不实施违反django关键原则的任何做法,即具有可插拔的易于更改的后端存储。
不错!你在哪里推荐这门课? – abstractpaper 2012-02-07 10:55:43
您的项目中的某个地方。我通常有独立的应用程序,我保留所有项目的具体事情。 – 2012-02-07 11:08:16
核心应用程序,非常感谢。 – abstractpaper 2012-02-07 12:19:45