我有一個Django模板接收上下文變量browsers
中的對象列表。我可以訪問Django模板列表中第一個對象的屬性嗎?
我要選擇列表中的第一個對象,其屬性的訪問之一,像這樣:
<a class="{{ browsers|first.classified_name }}" href="">{{ browsers|first }}</a>
不過,我得到相關的屬性選擇.classified_name
語法錯誤。
有什麼辦法可以選擇列表中的第一個對象的屬性?
我有一個Django模板接收上下文變量browsers
中的對象列表。我可以訪問Django模板列表中第一個對象的屬性嗎?
我要選擇列表中的第一個對象,其屬性的訪問之一,像這樣:
<a class="{{ browsers|first.classified_name }}" href="">{{ browsers|first }}</a>
不過,我得到相關的屬性選擇.classified_name
語法錯誤。
有什麼辦法可以選擇列表中的第一個對象的屬性?
可以使用with-templatetag:
{% with browsers|first as first_browser %}
{{ first_browser.classified_name }}
{% endwith %}
@ lazerscience的答案是正確的。另一種方法是直接使用索引。對於例如
{% with browsers.0 as first_browser %}
<a class="{{ first_browser.classified_name }}" href="">{{ first_browser }}</a>
{% endwith %}
或者,如果你通過使用列表中的{% for %}
標籤循環,您可以忽略每一個對象除了第一個使用the forloop.first
variable,例如
{% for browser in browsers %}
{% if forloop.first %}
<a class="{{ browser.classified_name }}" href="">{{ browser }}</a>
{% endif %}
{% endfor %}
雖然這可能不太明確,效率也不高。
我更喜歡這個,因爲'browsers.0.classified_name'也可以完成 – ratskin 2018-03-06 16:02:16