Sri*_*aju 23 python django django-templates django-filters
我将字典传递给我的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 %}
Run Code Online (Sandbox Code Playgroud)
现在docs是一个userdocs类型列表.即是一个实例.所以first过滤器会返回此实例.从这里我需要提取它id.我怎么做?
我尝试了
{{ v.docs|first }}.id各种其他无用的试验.
Dan*_*man 53
您可以使用{% with %}templatetag进行此类操作.
{% with v.docs|first as first_doc %}{{ first_doc.id }}{% endwith %}
Run Code Online (Sandbox Code Playgroud)
Abd*_*eed 38
你可以试试这个:
{{ v.docs.0 }}
Run Code Online (Sandbox Code Playgroud)
喜欢 arr.0
你可以通过索引元素(0,1,2等).
小智 5
我不知道这是否有用..
你想要的是iterable(v.docs)的第一个值,你正在迭代另一个封装的iterable(列表).
对于计数,我会做同样的事情,但对于第一个元素..我将单独遍历v.doc并通过内部循环检索第一个值.
{% for doc in v.docs %}
{% if v.docs | first %}
<li>doc</li>
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
注意:第一个过滤器适用于v.docs,而不是doc.是啊.它涉及另一个循环:(
| 归档时间: |
|
| 查看次数: |
29859 次 |
| 最近记录: |