调整视图中的图像大小并将其加载到django中的模板中

时间:2013-09-11 17:33:07

标签: django django-views

有没有办法在views.py中调整原始图像的大小,然后将调整后的图像从视图加载到模板?我尝试使用sorl-thumbnail和easy_thumbnail,它们工作得很好,但我不知道为什么,不管怎样,每当我使用apache服务器上传它时,服务器只加载django的内置服务器上传的图像,当我加载页面时再次使用django的内置服务器,可以很好地加载上传的图像。那么,无论如何我可以在视图中调整图像大小,然后将其加载到模板中吗?如果有,请指导我如何做到这一点。谢谢!

models.py

class Status(models.Model):
    status = models.TextField()
    image = ImageField(upload_to=get_upload_file_name, blank=True)
    pub_date = models.DateTimeField(default=datetime.now)
    creator = models.ForeignKey(User, related_name="creator_set")
    likes = models.ManyToManyField(User, through="Like")

    class Meta:
        ordering = ['-pub_date']
        verbose_name_plural = ('Status')

    def __unicode__(self):
        return self.status

1 个答案:

答案 0 :(得分:0)

我也是,我不明白你在模板中生成缩略图的问题。但是如果你想在视图中(或在python代码中的任何其他地方)创建它们,那么可以使用sorl缩略图。在sorl缩略图文档中,有以下low level api example

from sorl.thumbnail import get_thumbnail
im = get_thumbnail(my_file, '100x100', crop='center', quality=99)