[英]Django Templates First element of a List
我将字典传递给我的Django模板,
字典和模板是这样的 -
lists[listid] = {'name': l.listname, 'docs': l.userdocs.order_by('-id')}
{% for k, v in lists.items %}
<ul><li>Count: {{ v.docs.count }}, First: {{ v.docs|first }}</li></ul>
{% endfor %}
现在docs
是userdocs
类型的列表。 即是一个实例。 所以first
过滤器会返回此实例。 从这里我需要提取它的id
。 我怎么做?
我试过{{ v.docs|first }}.id
和其他各种徒劳的试验。
您可以使用{% with %}
模板标签进行此类操作。
{% with v.docs|first as first_doc %}{{ first_doc.id }}{% endwith %}
你可以试试这个:
{{ v.docs.0 }}
像arr.0
你可以通过索引(元素0
, 1
, 2
,等等)。
我不知道这是否有用..
你想要的是iterable(v.docs)的第一个值,你正在迭代另一个封装的iterable(列表)。
对于计数,我会做同样的事情,但是对于第一个元素..我将单独遍历v.doc并通过内部循环检索第一个值。
{% for doc in v.docs %}
{% if v.docs | first %}
<li>doc</li>
{% endif %}
{% endfor %}
注意:第一个过滤器适用于v.docs,而不是doc。 是啊。 它涉及另一个循环:(
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.