Python 如何在Jinja循环中传递多个参数?

Python 如何在Jinja循环中传递多个参数?,python,flask,jinja2,Python,Flask,Jinja2,我有两份清单: seller = ["Bob", "Joe", "Tim"] cash = [12, 25, 67] 我在模板中传递两个参数: ... return render_template("sales.html", sellers=sellers, seller_cash=seller_cash) 我想在同一个循环中渲染两个参数: {% for seller in sellers %} <p><strong>{{seller}}: {{cash}}&l

我有两份清单:

seller = ["Bob", "Joe", "Tim"]
cash = [12, 25, 67]
我在模板中传递两个参数:

...

return render_template("sales.html", sellers=sellers, seller_cash=seller_cash)
我想在同一个循环中渲染两个参数:

{% for seller in sellers %}
  <p><strong>{{seller}}: {{cash}}</p>
{% endfor %}
{sellers%中的seller%
{{seller}}:{{{cash}

{%endfor%}

显然,这是行不通的。有没有办法在同一个循环中包含两个参数?

Jinja2没有一个发件箱解决方案来横向组合这两个列表,但您可以利用python内置的
zip
创建单个列表的元组列表,并将其传递给jinja模板引擎。 您还需要重新编写jinja2循环,以便它可以读取元组列表

模板调用

return render_template("sales.html", seller_cash=zip(sellers, seller_cash)
金贾2环路

{% for seller, amount in seller_cash %}
  <p><strong>{{seller}}: {{amount}}</p>
{% endfor %}

Jinja2没有横向组合两个列表的发件箱解决方案,但您可以利用python内置的
zip
创建单个列表的元组列表,并将其传递给jinja模板引擎。 您还需要重新编写jinja2循环,以便它可以读取元组列表

模板调用

return render_template("sales.html", seller_cash=zip(sellers, seller_cash)
金贾2环路

{% for seller, amount in seller_cash %}
  <p><strong>{{seller}}: {{amount}}</p>
{% endfor %}

哇!那太完美了。谢谢你的解释!哇!那太完美了。谢谢你的解释!