Django sorl thumbnail:{%thumbnail%}标签内应该是什么

时间:2013-05-27 20:17:10

标签: django sorl-thumbnail

我的views.py:

# obj is of Model subclass, image is its ImageField
timg = get_thumbnail(obj.image, "160x110", quality=50)
context['timg'] = timg
return render(request, '16_upload01.html', context)



我的模板:

{% thumbnail timg "100x100" crop="center" as timg %}
    <img src="{{ timg.url }}" width="{{ timg.width }}" height="{{ timg.height }}">
{% empty %}
<p>No image</p>
{% endthumbnail %}


它永远显示“无图像”。但我可以在控制台中看到timg

(Pdb) timg
<sorl.thumbnail.images.ImageFile object at 0x10f83a450>


另外,在settings.py中我设置THUMBNAIL_DEBUG = True,但看不到任何错误显示,为什么?


编辑

仍然没有缩略图显示


观点:

obj = Image.objects.filter(id=1)
timg = get_thumbnail(obj.image, "160x110", quality=50)
context['timg'] = timg
return render(request, '16_upload01.html', context)

模板:

<img src="{{ timg.url }}" width="{{ timg.width }}" height="{{ timg.height }}">

1 个答案:

答案 0 :(得分:0)

您正在尝试两次获取缩略图;在get_thumbnail的视图中,然后在{% thumbnail ... %}的模板中再次显示。这两个都做同样的事情(模板标签在后台使用get_thumbnail)所以选择一个或另一个。

Have a look at the sorl documentation您将看到实现缩略图的不同方法。生成的timg缩略图文件(根据您选择的方法返回)具有url属性,您可以使用该属性显示缩略图:

<img src="{{ timg.url }}" />