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 %
这不会输出任何东西。如果我这样做<img src='photo.image.url'>
,则图像在浏览器中显示良好。我的 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
并查看错误发生的原因。
您是否将virualenv
和PIL
用于图像库?确保您的 PIL
已编译并安装了 jpeg
和 png/gif
支持,这需要 libjpeg
和 zlib
。
编辑:正如@DanielRoseman 在评论中指出的那样,您实际上是在使用django.db.models.ImageField
,正在更改
image = models.ImageField(upload_to="uploads")
到
image = ImageField(upload_to="uploads")
改用sorl.thumbnail.ImageField
。
【讨论】:
【参考方案2】:尝试进行清理,或者如果失败,请清除。 Documentation
当我得到意外的输出时,这解决了我的问题。也许它会为你工作。
【讨论】:
以上是关于sorl-thumbnail 的模板标签啥都不做的主要内容,如果未能解决你的问题,请参考以下文章
UIViewController presentModalViewController:动画:啥都不做?