Python 在Jinja2中对同一列表迭代两次?

Python 在Jinja2中对同一列表迭代两次?,python,google-app-engine,jinja2,Python,Google App Engine,Jinja2,我试图在两个不同的位置打印标签列表,但第二次我在列表中/时,它没有循环 <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}}"

我试图在两个不同的位置打印标签列表,但第二次我在列表中/时,它没有循环

<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>
[<nt_tags.Tag object at 0x0000000005CAFF28>, <nt_tags.Tag object at 0x0000000005CAFFD0>]
重新编辑:

[<nt_tags.Tag object at 0x0000000005CAFF28>, <nt_tags.Tag object at 0x0000000005CAFFD0>]
记录我正在传递的内容及其

[<nt_tags.Tag object at 0x0000000005CAFF28>, <nt_tags.Tag object at 0x0000000005CAFFD0>]
[,]

哪一个看起来只是一个列表而不是迭代器对吗?

如果
tags
是一个迭代器,那么在第一次迭代结束时,就没有任何东西可以迭代了。您可以将其具体化为一个列表,然后再将其传递给您的模板
例如:list(tags)
在您的上下文中…

我更新了关于如何创建tags变量的问题。我想我正在做的是创建一个新的列表,当我将它分配给“标记”时,它不应该是迭代器,这就是我实际正在做的吗?现在有这个确切的问题。我记录了第二个循环,此时列表是空的。不知道为什么。现在,我不得不将两个重复的列表传递给模板。如果我遇到更好的解决方案,将会更新。
[<nt_tags.Tag object at 0x0000000005CAFF28>, <nt_tags.Tag object at 0x0000000005CAFFD0>]