问题描述
我有一个在服务器上运行的 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 步,结果证明是不必要的。