我想爲上傳的圖像創建縮略圖。我知道有一些庫可用,但我有非常基本的需求,我寧願自己做這個。Django保存文件
我的模型是這樣的:
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的文件上傳,我沒有找到答案,我的問題。你能更具體一點嗎? 「一旦你有了原始的圖像數據,你可以很容易地將它寫入文件」正是我所要求的。 – Andrea 2011-05-05 10:40:47