我有django 1.11和最新的django-storage,使用S3后端进行设置。
我正在尝试使用AWS图像链接作为起点以编程方式实例化ImageFile。我无法弄清楚如何查看源/文档。
我假设我需要创建一个文件,并为其提供从没有域名的网址派生的路径,但我找不到具体的方法。
这样做的最终目的是以编程方式创建wagtail Image
对象,指向S3图像(因此将新的ImageFile传递给图像的Imagefield)。我拥有存储在其中的S3存储桶。
上传图片工作正常,因此系统设置正确。
更新
为了澄清,我需要做与正常过程相反的事情。通常会向系统提供物理图像,然后创建ImageFile
,然后将文件上载到S3,并将URL分配给File.url
。我有File.url
,需要一个ImageFile
对象。
答案 0 :(得分:1)
事实证明,在几个期望文件的模型中,当使用DjangoStorage时,我所要做的就是不在文件字段上传递File
,而是传递AWS S3对象密钥(所以不是URL,只是对象键)。
调用model.save()
时,会向S3发出boto
调用,以验证所提供密钥的对象是否存在,并保存该项目。