我的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 }}">
答案 0 :(得分:0)
您正在尝试两次获取缩略图;在get_thumbnail
的视图中,然后在{% thumbnail ... %}
的模板中再次显示。这两个都做同样的事情(模板标签在后台使用get_thumbnail
)所以选择一个或另一个。
Have a look at the sorl documentation您将看到实现缩略图的不同方法。生成的timg
缩略图文件(根据您选择的方法返回)具有url
属性,您可以使用该属性显示缩略图:
<img src="{{ timg.url }}" />