我正在使用 3.0.3 的 django-imagekit。我在模型上进行了以下设置:
render_image = models.ImageField(upload_to='spec/', null=True, blank=True)
render_thumbnail = ImageSpecField([ResizeToFill(220, 220)],
source='render_image',
format='JPEG',
options={'quality': 90})
这是一个很好的开始:当我最初上传图像时,缩略图创建得很好。我的问题是我正在以编程方式更改原始图像。我想根据新的缩略图重新生成缩略图,但我不知道如何。我正在用这一行更改原始图像:
model.render_image = image_rel_path # that is, 'model/uuid.png'
效果很好,我可以访问新图像。我什至可以使用 imagekit 缩略图模板标签来创建重新调整大小的最新缩略图。我会这样做,但我只想要图像 url,而不是完整的图像标签,因为它需要是背景图像(imagekit 开发人员:如果没有办法只在模板标签中获取 url,请请注意,生成 html 违反了最小责任原则)。
我不想深入研究 imagekit 的内容,我只想通过更改我更新源文件的方式在“源文件已更改”信号上正确生成缩略图,或者我希望能够调用类似的东西model.render_thumbnail.generate(source=model.render_image)
。