非常简单。我有一个Python列表,我将其传递给Django模板。
我可以使用
专门访问此列表中的第一项{{ thelist|first }}
但是,我也想访问该项目的属性...理想情况下,您认为它看起来像这样:
{{ thelist|first.propertyName }}
但是,唉,它没有。
是否有任何模板解决方案,或者我只是发现自己传递一个额外的模板变量......
答案 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 }}