我将字典传递给我的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
和其他各种无用的试验。
你可以使用qazxsw poi模板标签来做这类事情。
{% with %}
你可以试试这个:
{% with v.docs|first as first_doc %}{{ first_doc.id }}{% endwith %}
像{{ v.docs.0 }}
你可以按索引获取元素(arr.0
,0
,1
等)。
我不知道这是否有用..
你想要的是iterable(v.docs)的第一个值,你正在迭代另一个封装的iterable(列表)。
对于计数,我会做同样的事情,但对于第一个元素..我将单独遍历v.doc并通过内部循环检索第一个值。
2
注意:第一个过滤器适用于v.docs,而不是doc。是啊。它涉及另一个循环:(