多个Django存储后端系统

时间:2014-04-09 08:45:31

标签: python django amazon-web-services amazon-s3

我有django应用程序正在使用S3BotoStorage后端在亚马逊s3上存储上传的文件。但是在web api服务中(使用django-tastypie),在s3上上传文件需要很长时间。 因为有请求通过Web服务器传递到amazon s3存储后端。

因此,我们提供解决方案让他们首先在Web服务器上传并实现django-celery任务,通过这些任务将文件上传到amazon s3。它完成并正常工作。 但之后我们想要将文件的url修改为亚马逊s3存储位置网址。 但是当我们尝试将file_field_obj.storage修改为s3botostroage时。这会按预期将其恢复为默认文件存储。

所以我们可以选择在s3上传文件后修改Django Models FileField存储字段。因此,在设置中会有DefaultFileStorage指向FileSystemStorage。 但是如果文件在s3上,那么它们将指向s3存储位置。

1 个答案:

答案 0 :(得分:1)

解决方案已存在于应用中:django-queued-storage

它应该处理创建在存储后端之间上传的芹菜任务。