SORL 缩略图的模板标签不执行任何操作



我正在使用sorl缩略图来裁剪一些图像。

我有一个看起来像这样的模型

from django.db import models
from sorl.thumbnail import ImageField
class Photo(models.Model):
    image = models.ImageField(upload_to="uploads")

在我的模板中,我有

{% load thumbnail %}
{% thumbnail photo.image "200x100" as im %}
    <img src="{{ im.url }}">
{% endthumbnail %}

这不会输出任何内容。如果我这样做<img src='{{photo.image.url}}'>图像在浏览器中显示正常。我的INSTALLED_APPS里也有sorl缩略图,我同步了数据库并设置了thumbnail_kvstore表。

有人可以帮我吗?什么可能导致图像不被裁剪甚至显示?

你的代码看起来不错,所以问题应该来自其他部分。

您可以做的第一件事是在settings.py中设置THUMBNAIL_DEBUG = True,并查看发生错误的原因。

您是否使用virualenvPIL进行图像库?确保您的PIL是使用jpegpng/gif支持编译和安装的,这需要libjpegzlib

编辑:正如@DanielRoseman评论中指出的那样,您实际上是在使用django.db.models.ImageField,更改

image = models.ImageField(upload_to="uploads")

image = ImageField(upload_to="uploads")

以改用sorl.thumbnail.ImageField

尝试执行清理,如果清理失败,请清除。文档

当我获得意外输出时,这为我解决了问题。也许它会为你工作。

最新更新