我正在尝试在两个不同的位置打印标签列表,但第二次我在/列表中,它不会循环。
<ul>
# for tag in tags
<li><a href="/my-tags/{{tag.name}}">{{tag.name}}</a></li>
# endfor
</ul>
<ul>
# for tag in tags
<li><a href="/my-tags/{{tag.name}}">{{tag.name}}</a></li>
# endfor
</ul>
如果我把它放在我的模板中,第二个UL会变空。
有什么想法吗?
编辑:
这就是我填充标签变量的方式。
contact_data.append({'name': 'Placeholder', 'emails': contact.emails, 'tags': [tag for tag in nt_tags.get_tags_by_taggee(contact)]})
再次编辑:
记录我正在传递的内容及其
[<nt_tags.Tag object at 0x0000000005CAFF28>, <nt_tags.Tag object at 0x0000000005CAFFD0>]
这看起来只是一个列表而不是迭代器吗?
答案 0 :(得分:3)
如果tags
是一个迭代器,那么在第一次迭代结束时,就没有任何东西需要迭代。您可以在将其传递到上下文中的模板eg: list(tags)
之前将其具体化为列表...