我可以访问 Django 模板列表中第一个对象的属性吗?
Posted
技术标签:
【中文标题】我可以访问 Django 模板列表中第一个对象的属性吗?【英文标题】:Can I access attributes of the first object in a list in Django templates? 【发布时间】:2011-04-19 06:56:14 【问题描述】:我有一个 Django 模板,它接收上下文变量 browsers
中的对象列表。
我想选择列表中的第一个对象,并访问它的一个属性,如下所示:
<a class=" browsers|first.classified_name " href=""> browsers|first </a>
但是,我收到与属性选择 .classified_name
相关的语法错误。
有什么方法可以选择列表中第一个对象的属性吗?
【问题讨论】:
【参考方案1】:您可以使用with-templatetag:
% with browsers|first as first_browser %
first_browser.classified_name
% endwith %
【讨论】:
【参考方案2】:@lazerscience 的回答是正确的。实现这一点的另一种方法是直接使用索引。例如
% with browsers.0 as first_browser %
<a class=" first_browser.classified_name " href=""> first_browser </a>
% endwith %
【讨论】:
我更喜欢这个,因为browsers.0.classified_name
也可以做到【参考方案3】:
或者,如果您使用% for %
标签循环遍历列表,您可以使用the forloop.first
variable 忽略除第一个对象之外的每个对象,例如
% for browser in browsers %
% if forloop.first %
<a class=" browser.classified_name " href=""> browser </a>
% endif %
% endfor %
不过,这可能不太清楚,效率也较低。
【讨论】:
以上是关于我可以访问 Django 模板列表中第一个对象的属性吗?的主要内容,如果未能解决你的问题,请参考以下文章