代码之家  ›  专栏  ›  技术社区  ›  Giannis

django storages s3-存储现有文件

  •  2
  • Giannis  · 技术社区  · 8 年前

    我有django 1.11和最新的django存储,设置与s3后端。

    我试图用aws图像链接作为起点,以编程的方式实例化一个图像文件。我无法通过查看源/文档来了解如何做到这一点。

    我想我需要创建一个文件,并给它从没有域的url派生的路径,但是我找不到确切的方法。

    其最终目的是通过编程创建wagtail Image 对象,指向s3图像(因此将新的imagefile传递到图像的imagefield)。我拥有S3存储桶图像存储在里面。

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

    更新

    为了澄清,我需要做与正常过程相反的事情。通常会给系统一个物理映像,然后系统会创建一个 ImageFile ,然后将文件上载到s3,并为 File.url . 我有 文件.url 需要一个 图像文件 反对。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Giannis    8 年前

    结果是,在一些需要文件的模型中,当使用djangostorages时,我所要做的只是不传递 File 在文件字段上,传递aws s3对象键(所以不是url,只是对象键)。 什么时候? model.save() 被称为 boto 调用s3来验证是否存在具有所提供密钥的对象,并保存该项。