我有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存储位置。