django - 在上传时保存图像的大小调整副本(使用管理站点)

时间:2009-11-13 12:32:09

标签: django image image-processing admin thumbnails

我正在为需要通过管理界面支持图片上传(艺术家)的客户构建网站。由于大多数图像都是高分辨率的,因此我想在上传后创建要在图库页面上显示的图像的拇指副本。上传适用于forms.ImageFile元素,但我正在寻找关于如何进行实际调整大小以及拇指和真实大小图像之间链接的一些想法。我有想法为图像和图像拇指保持模型类:

from django.db import models

class Image(models.Model):
    """a true size image"""
    image = models.ImageFile(upload_to="images")
    desc = models.CharField(max_length=256)

    class Meta:
        db_table = "images"

class ImageThumb(models.Model):
    """"a thumbnail of an actual image"""
    real_image = models.ForeignKey('Image')
    image = models.ImageField(upload_to="images/thumbs")

    class Meta:
        db_table = "thumbs"

我坚持的部分是如何在上传后调整真实图像(pil?how?),我可能会在我的模型上使用一些抛光 - 任何帮助都会很棒。感谢。

2 个答案:

答案 0 :(得分:3)

有一个名为sorl-thumbnail的精彩插件,用于处理缩略图生成 - 不用费心去做。 sorl-thumbnail是非常可配置的,因此很有可能它会做你想做的任何事情。

如果这对您不起作用,那么photologue也非常好(photologue更适合管理相册,而不仅仅是简单的缩略图生成)。

答案 1 :(得分:0)

另请参阅easy-thumbnailsaino-convert。从sorl-thumbnail might not be developed very actively from now on开始,它们可能是一个不错的选择。