Python 源更改时未重新生成ImageSpecField
我正在使用django imagekit的3.0.3。我在模型上进行了以下设置:Python 源更改时未重新生成ImageSpecField,python,django,imagekit,Python,Django,Imagekit,我正在使用django imagekit的3.0.3。我在模型上进行了以下设置: render_image = models.ImageField(upload_to='spec/', null=True, blank=True) render_thumbnail = ImageSpecField([ResizeToFill(220, 220)], source='render_image',
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\u thumboil.generate(source=model.render\u image)
的函数。当时我避免了这一点,但后来我又需要解决这个问题,我在ImageSpecField
上发现了一个generate
方法。您只需model.image\u缩略图.generate()
。如果出现错误缺少源:规范“”没有与其关联的源文件。
,则与ImageSpecField
关联的源没有关联的文件