【问题标题】:Django sorl thumbnail: what should be inside {% thumbnail %} tagDjango sorl 缩略图:{% thumbnail %} 标签内应该有什么
【发布时间】:2013-05-27 20:17:10
【问题描述】:

我的意见.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 }}">

【问题讨论】:

    标签: django sorl-thumbnail


    【解决方案1】:

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

    Have a look at the sorl documentation,您将看到实现缩略图的不同方式。生成的 timg 缩略图文件 - 无论您选择哪种方法都会返回 - 有一个 url 属性,然后您可以使用它来显示缩略图:

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

    【讨论】:

    • 很好的启蒙。但现在我什么也得不到,而不是两次得到任何东西。我读了一整天的 sorl 文档,但即使是最基本的用法仍然感到困惑。比如缩略图标签中as后面的变量是什么?
    • 您是否删除了其中一种方法?如果有,是哪一个?
    猜你喜欢
    • 2012-06-12
    • 2012-09-18
    • 2016-05-10
    • 2011-07-29
    • 2011-07-01
    • 2015-06-14
    • 2012-03-06
    • 2012-04-21
    • 1970-01-01
    相关资源
    最近更新 更多