迁移 Django 应用程序以使用在线媒体存储
Migrating Django app to use online media storage
我在服务器上有一个 Django 应用程序 运行。当前用户上传存储在服务器文件系统中。
我已经知道如何设置 S3 存储了。在不破坏 API 且现有上传仍然可用的情况下,将现有上传迁移到 S3 的最佳方法是什么?
这些文件以两种方式提供给前端:
- 直接通过
/media/path/to/upload
端点:
/media/<path> django.views.static.serve
- 通过视图集:
/api/v1/users/<user_pk>/items/<item_pk>/attachments/<pk>/ project.app.views.ItemAttachmentsViewSet
以下是否有意义:
- 更改存储后端
- 遍历所有模型对象
- 保存每个模型对象以获取上传的文件
- 让
/media/path
转到一个新视图,该视图将提供与 ItemAttachmentsViewSet
类似的文件。
?或者有更好的方法吗?
问题中概述的过程是我最终做的,除了第 4 步,结果证明这是不必要的。
我在服务器上有一个 Django 应用程序 运行。当前用户上传存储在服务器文件系统中。
我已经知道如何设置 S3 存储了。在不破坏 API 且现有上传仍然可用的情况下,将现有上传迁移到 S3 的最佳方法是什么?
这些文件以两种方式提供给前端:
- 直接通过
/media/path/to/upload
端点:
/media/<path> django.views.static.serve
- 通过视图集:
/api/v1/users/<user_pk>/items/<item_pk>/attachments/<pk>/ project.app.views.ItemAttachmentsViewSet
以下是否有意义:
- 更改存储后端
- 遍历所有模型对象
- 保存每个模型对象以获取上传的文件
- 让
/media/path
转到一个新视图,该视图将提供与ItemAttachmentsViewSet
类似的文件。 ?或者有更好的方法吗?
问题中概述的过程是我最终做的,除了第 4 步,结果证明这是不必要的。