我在模型中有一个图像场。我需要将该图像的两个副本(调整大小)复制到另外两个字段(thumb_big和thumb_small)。Thumb_big的宽度为225px,高度可以是任何值。thumb_small是65x50px。
我找过了,但似乎没有什么适合我的问题。我已经安装了PIL。尝试了django-imagekit和其他一些代码片段。
如果你知道任何很棒的链接,顺便说一句,我是django的新手,但你已经假设了,对吧?
这是我的模型
class Photo(models.Model):
title = models.CharField(max_length=500)
pub_date = models.DateField(auto_now_add=True)
mod_date = models.DateField(auto_now=True)
slug_name = models.SlugField(max_length=500)
image = models.ImageField(upload_to='interview', blank=True)
thumb_big = models.ImageField(upload_to= 'interview/thumbs_big', blank=True)
thumb_small = models.ImageField(upload_to= 'interview/thumbs_small', blank=True)
category = models.CharField(max_length=200, blank=True)
details = models.TextField()
def __unicode__(self):
return self.title发布于 2011-07-30 13:43:12
我不太确定为什么你需要在数据库中存储缩略图路径。有几个django缩略图应用程序。我最喜欢的两个是:
它们都使用模板标签来动态生成缩略图,并在django模板中显示它们。
它们还提供了自定义数据库字段,以简化缩略图管理:http://thumbnail.sorl.net/examples.html#model-examples http://packages.python.org/easy-thumbnails/usage.html#models
如果您确实需要在模型中保存缩略图的路径,您可以在图像上传视图中生成这两个缩略图,然后将生成的文件路径分配给相应的数据库字段。使用简单的缩略图,它将如下所示:
photo = form.save()
from easy_thumbnails.files import get_thumbnailer
thumbnailer = get_thumbnailer(photo.image)
thumb = thumbnailer.get_thumbnail({'size': (100, 100)})
photo.thumb_big = thumb.name
photo.save()https://stackoverflow.com/questions/6881246
复制相似问题