2013-05-27 29 views
0

我views.py:Django的SORL缩略图:应该是什么样的内部{%缩略图%}标签

# 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,目前还看不到任何错误出现,为什么?


EDIT

仍然没有缩略图像显示出来


观点:

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

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

Have a look at the sorl documentation您将看到实现缩略图的不同方式。得到的timg缩略图文件 - 即返回取接近你选择 - 有一个url的属性,然后可以使用显示缩略图:

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

尼斯启示。但是现在我什么也没有得到,而是两次获得任何东西。我读了一整天的sorl文档,但即使是最基本的用法,仍然感到困惑。例如,缩略图标签中的“as”之后的变量是什么? – Philip007

+0

您是否删除了其中一种方法?如果是这样的话? –

+0

看我的编辑,问题依然存在 – Philip007