4
具有縮略圖像一個Django模型,如:如何將枕頭圖像對象保存到Django ImageField中?
class Thumb(models.Model):
thumb = models.ImageField(upload_to='uploads/thumb/', null=True, default=None)
視圖生成與pillow
包的縮略圖,並應保存在一個Thumb
例如,使用如下代碼:
image.thumbnail((50, 50))
inst.thumb.save('thumb.jpg', ???)
是什麼image
的數據爲inst.thumb.save
的正確方法???
?
我能得到以下工作:
thumb_temp = NamedTemporaryFile()
image.save(thumb_temp, 'JPEG', quality=80)
thumb_temp.flush()
inst.thumb.save('thumb.jpg', File(thumb_temp))
thumb_temp.close() # Probably required to ensure temp file delete at close
但似乎相當笨拙寫一個臨時文件只是內部數據傳遞給inst.thumb.save
,所以我不知道是否有一個更優雅的方式做到這一點。 Django class NamedTemporaryFile
的文檔。