Django Templating:如何访问列表中第一个项目的属性

M. *_*yan 80 django django-templates

很简单.我有一个Python列表,我将传递给Django模板.

我可以使用专门访问此列表中的第一项

{{ thelist|first }}
Run Code Online (Sandbox Code Playgroud)

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

{{ thelist|first.propertyName }}
Run Code Online (Sandbox Code Playgroud)

但唉,事实并非如此.

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

Dan*_*man 163

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

{{ thelist.0.propertyName }}
Run Code Online (Sandbox Code Playgroud)


Mar*_*vin 31

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

{% with thelist|first as first_object %}
    {{ first_object.propertyname }}
{% endwith %}
Run Code Online (Sandbox Code Playgroud)


Moh*_*rki 17

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