Django模板:如何访问列表中第一项的属性

时间:2009-09-25 19:38:46

标签: django django-templates

非常简单。我有一个Python列表,我将其传递给Django模板。

我可以使用

专门访问此列表中的第一项
{{ thelist|first }}

但是,我也想访问该项目的属性...理想情况下,您认为它看起来像这样:

{{ thelist|first.propertyName }}

但是,唉,它没有。

是否有任何模板解决方案,或者我只是发现自己传递一个额外的模板变量......

4 个答案:

答案 0 :(得分:156)

您可以通过索引号访问列表中的任何项目。在模板中,这与任何其他属性查找的工作方式相同:

{{ thelist.0.propertyName }}

答案 1 :(得分:29)

您可以将with模板标记与first模板过滤器结合使用,以访问该属性。

{% with thelist|first as first_object %}
    {{ first_object.propertyname }}
{% endwith %}

答案 2 :(得分:17)

如果您尝试访问多个字段,请记得添加all,因此它看起来像object.m2m_field.all.0.item_property

答案 3 :(得分:0)

用于访问提供给Django模板的对象列表中的ManyToManyField属性的可能更清晰的答案/语法如下:

{{ object_list.0.m2m_fieldname.all.0.item_property }}