sorl-thumbnail 的模板标签啥都不做

Posted

技术标签:

【中文标题】sorl-thumbnail 的模板标签啥都不做【英文标题】:sorl-thumbnail's template tags do nothingsorl-thumbnail 的模板标签什么都不做 【发布时间】:2012-04-21 11:37:04 【问题描述】:

我正在使用 sorl-thumbnail 来裁剪一些图像。

我有一个这样的模型

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 %

这不会输出任何东西。如果我这样做&lt;img src='photo.image.url'&gt;,则图像在浏览器中显示良好。我的 INSTALLED_APPS 中也有 sorl-thumbnail,我同步了数据库并设置了 thumbnail_kvstore 表。

谁能帮帮我。什么可能导致图像无法裁剪甚至显示?

【问题讨论】:

您是否安装了 PIL 或 imagemagick?你有没有得到任何错误? 您正在导入sorl.thumbnail.ImageField,但使用的是django.db.models.ImageField @DanielRoseman thumbnail.sorl.net/examples.html#model-examples 说我应该导入 ImageField 并且它会起作用。不是这样吗? @dotty 啊,Daniel 是对的,您应该使用ImageField 而不是models.ImageField 根据文档所述。 @dotty 但这些示例导入 ImageField使用它。您正在导入它并使用其他东西。 【参考方案1】:

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

您可以做的第一件事是在您的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

【讨论】:

【参考方案2】:

尝试进行清理,或者如果失败,请清除。 Documentation

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

【讨论】:

以上是关于sorl-thumbnail 的模板标签啥都不做的主要内容,如果未能解决你的问题,请参考以下文章

想让 HTML 表单提交啥都不做

UIViewController presentModalViewController:动画:啥都不做?

拯救错误啥都不做?

NSWindowController showWindow:nil 啥都不做

Solididity HTML 脚本啥都不做

iOS UITapGestureRecognizer 啥都不做?