Hay guys, I ve为我的照片撰写了简单的上载方法。
class Picture(models.Model):
path = models.CharField(max_length=200)
filename = models.CharField(max_length=200)
car = models.ForeignKey( Car )
thumb_path = models.CharField(max_length=200)
created_on = models.DateField(auto_now_add=True)
updated_on = models.DateField(auto_now=True)
def save(self):
if not self.id:
thumb_size = 128, 128
thumb_path = "assests/uploads/thumb"+self.filename
t = Image.open(self.path)
t.thumbnail(thumb_size,Image.ANTIALIAS)
t.save(thumb_path, "JPEG")
self.thumb_path = thumb_path
super(Picture, self).save()
def delete(self):
os.unlink(self.thumb_path)
os.unlink(self.path)
super(Picture, self).delete()
正如您所看到的,这不是最好的方法,我想转而使用ImageField()来完成大部分工作,但我仍希望有灵活性来创建缩略图和随机文件名。
我需要为PictureThumbnail创建另一个模型吗?我不想使用任何第三方扩展。
我该如何使用ImageField使其工作?所有图片都将上传到/assests/uploads/。
增 编