访问Django模板中过滤对象的属性

时间:2012-07-12 12:44:13

标签: django

我想显示画廊列表(画廊名称和第一张图片),如下所示:

         {% for gallery in galleries %}
            <a href="/gallery/{{ gallery.slug }}">
              <div class="gallery_box">
                 <h2>{{ gallery.translatedName }}</h2>
                 <img src="{{ (gallery.image_set.all|first).path }}"/>
              </div>
            </a>                         
        {% endfor %}

 {{ (gallery.image_set.all|first).path }}

无效。 如何访问

的属性'path'
 {{ gallery.image_set.all|first }}

2 个答案:

答案 0 :(得分:3)

您可以执行first

,而不是使用{{ gallery.image_set.all.0.path }}过滤器

答案 1 :(得分:1)

JamesO有正确的答案,但如果你真的需要使用过滤器,你可以使用with

{% with gallery.image_set.all|first as first_image %}{{ first_image.path }}{% endwith %}