django - S3 的 TextFields 中的相对媒体路径
问题描述
我有大量具有 TextFields 的模型,其中(有时)包含指向用户在编辑这些字段时上传的图像的链接。
所以一个字段可能包含这样的东西: -
This is my image
<img src="/media/uploads/myimage.jpg">
目前这工作正常,因为我的所有媒体都是由 nginx 从我的 Web 服务器上的目录提供的。
但是,我想将所有用户上传的媒体移动到 Amazon S3,而不是从我的服务器提供媒体。
我已经为在 ImageFields 中有图像的模型做好了一切工作,因为它们只是使用 django-storages API 计算出图像的路径。但是上面存储在 TextFields 中的图像将不再起作用,因为它们是相对路径,而不是 S3 路径。
有没有办法使这项工作无需编辑所有 TextFields 的所有内容以将 img 路径更改为完整的 S3 路径?这不仅看起来是一个非常费力的过程(即使我可以通过编程方式完成),而且如果我随后想要更改为另一个存储服务怎么办?我得再做一次!
如果具有像这样的相对 URL 的图像标记只知道它必须使用完整的 S3 URL 找到真实路径,那会更好,但我不知道该怎么做。
解决方案
推荐阅读
- amazon-web-services - 如何使用 CDK 在多账户环境中实现中央 API 账户
- python - 我有一个列表,它在数组的一个位置返回两个值
- c# - 在 Parallel.For 循环中捕获类似变量的错误
- javascript - 试图让我的第一个 FullCalendar 工作
- python - 减少 SUMIFS 等效项的执行时间
- python - 在 Django 中,为什么错误“TypeError at / Field 'fees' 期望一个数字但得到 [[0, 0.26], [50000, 0.24], [100000, 0.22], ...”?
- node.js - 节点 Azure 函数中的附加参数
- java - 如何编写按降序排列的 selectionSort 方法?
- javascript - Discord.js 斜线命令权限系统不起作用
- string - 为什么我会得到错误的结果?