我有一个 django 应用程序,它使用 S3BotoStorage 后端在 Amazon s3 上存储上传的文件。但在 Web api 服务(使用 django-tastypie)中,在 s3 上上传文件需要很长时间。
因为有请求通过 Web 服务器,然后到达亚马逊 s3 存储后端。
因此,我们提供了解决方案,让它们首先在 Web 服务器上上传,并实现 django-celery 任务,通过该任务将文件上传到 amazon s3。它已完成并正在运行。
但之后我们想要将文件的 url 修改为 amazon s3 存储位置 url。
但是当我们尝试将 file_field_obj.storage 修改为 s3botostroage 时。这将按预期将其恢复为默认文件存储。
那么,在 s3 上上传文件后,我们是否可以修改 Django Models FileField 存储字段。因此,在设置中会有 DefaultFileStorage 指向 FileSystemStorage。
但如果文件位于 s3 上,它们将指向 s3 存储位置。
该解决方案已经存在于应用程序中:Django 队列存储 http://django-queued-storage.readthedocs.org/en/latest/
它应该处理创建在存储后端之间上传的 celery 任务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)