【发布时间】:2010-12-01 12:59:18
【问题描述】:
很简单。我有一个要传递给 Django 模板的 Python 列表。
我可以使用
专门访问此列表中的第一项{{ thelist|first }}
但是,我还想访问该项目的属性...理想情况下,您会认为它看起来像这样:
{{ thelist|first.propertyName }}
可惜,它没有。
是否有任何模板解决方案,或者我只是要发现自己传递了一个额外的模板变量...
【问题讨论】:
很简单。我有一个要传递给 Django 模板的 Python 列表。
我可以使用
专门访问此列表中的第一项{{ thelist|first }}
但是,我还想访问该项目的属性...理想情况下,您会认为它看起来像这样:
{{ thelist|first.propertyName }}
可惜,它没有。
是否有任何模板解决方案,或者我只是要发现自己传递了一个额外的模板变量...
【问题讨论】:
您可以通过其索引号访问列表中的任何项目。在模板中,这与任何其他属性查找相同:
{{ thelist.0.propertyName }}
【讨论】:
for 循环遍历每个错误消息要好得多。谢谢!
thelist.-1.propertyName?
with 标记和|last。
您可以将with 模板标签与first 模板过滤器结合起来访问该属性。
{% with thelist|first as first_object %}
{{ first_object.propertyname }}
{% endwith %}
【讨论】:
如果您尝试访问多对多字段,请记得添加all,这样它看起来就像object.m2m_field.all.0.item_property
【讨论】:
访问提供给 django 模板的对象列表中的 ManyToManyField 属性的可能更清晰的答案/语法如下所示:
{{ object_list.0.m2m_fieldname.all.0.item_property }}
【讨论】: