【发布时间】:2011-08-18 13:12:30
【问题描述】:
我想为上传的图片创建缩略图。我知道有一些库可用,但我有非常基本的需求,我更愿意自己做。
我的模型是这样的:
from image_tools import resize
class Photo(models.Model):
# some fields
image = models.ImageField(
upload_to='images',
height_field='height',
width_field='width'
)
thumb = models.ImageField(
upload_to='thumbs',
editable=False
)
def save(self):
self.thumb = self.image
resize(self.image.path, self.thumb.path, 50, 40)
super(Photo, self).save()
resize() 是我编写的一个简单函数,它接受原始文件路径和目标路径以及尺寸作为参数并存储缩略图。唯一的问题是该文件此时尚未在磁盘上。
有没有办法强制将文件本身保存在它的位置,以便我的函数可以使用它?
请随时提出更好的方法来处理此问题。我仍然想知道如何处理尚未保存的文件,无论最好的解决方案是什么。
【问题讨论】:
标签: django django-models thumbnails