我有带有最新 django-storages 的 django 1.11,使用 S3 后端进行设置。

我正在尝试以编程方式实例化 ImageFile,使用 AWS 图像链接作为起点。我无法弄清楚如何查看源文件/文档。

我假设我需要创建一个文件,并为它提供从没有域的 url 派生的路径,但我找不到确切的方法。

这样做的最终目的是以编程方式创建 wagtail Image 对象,该对象指向 S3 图像(因此将新的 ImageFile 传递给图像的 Imagefield)。我拥有存储图像的 S3 存储桶。

上传图像工作正常,因此系统设置正确。

更新

为了澄清,我需要做与正常过程相反的事情。通常,系统会提供物理图像,然后系统会创建 ImageFile ,然后将文件上传到 S3,并将 URL 分配给 File.url 。我有 File.url 并且需要一个 ImageFile 对象。

最佳答案

事实证明,在几个需要文件的模型中,当使用 DjangoStorages 时,我所要做的就是传递 AWS S3 对象键(所以不是 URL,只是对象键)而不是在文件字段上传递 File
当调用 model.save() 时,会对 S3 进行 boto 调用以验证具有提供的 key 的对象是否存在,并保存该项目。

关于Django storages S3 - 存储现有文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50609686/

10-09 06:44
查看更多