如何在Jinja中同时遍历2个元素?

时间:2019-11-28 23:45:42

标签: python flask jinja2

我有两个元素,需要同时遍历两个元素,但要使用JINJA(!)。自然,我尝试使用zip()同时浏览(列表和字典),但是jinja不允许

 {% for (i, o) in zip(searches, e_links): %}
      <a href="/sid/{{ o }}">
      <div>{{ i.time_string }}</div>

错误:

jinja2.exceptions.UndefinedError: 'zip' is undefined

在jinja中是否有另一种方法可以同时浏览两个项目,或者是否可以将zip()函数传递给jinja?

1 个答案:

答案 0 :(得分:1)

如果将来有人想知道,我就可以解决。您可以简单地zip()这两个项目,然后将它们传递给jinja:

return render_template('results.html', packed=zip(searches, e_links))

然后在模板中循环浏览压缩项:

{% for i, o in packed: %}

是的,总的来说,我花了一个多小时才弄清楚这个问题。