【问题标题】:How to increment two variables on a for-loop in jinja template?如何在 jinja 模板的 for 循环中增加两个变量?
【发布时间】:2021-01-09 14:27:39
【问题描述】:

我正在使用烧瓶开发网络。我有两个来自 models.py 的类对象。我需要使用 Jinja2 在我的 HTML 文件中同时遍历它们。

例如: 我想要以下 jinja2 格式的代码:

for i,j in zip(items, team):
    a= i+j

想转成jinja2格式:

{% for i,j  in zip(items, teams) %}
    {% a=i+j %}
{% endfor%}

这个 jinja2 代码有什么问题?

【问题讨论】:

标签: html flask jinja2


【解决方案1】:

Jinja 实际上没有zip global function。因此,您需要通过以下方式使其可用:

app.jinja_env.globals.update(zip=zip)

此外,分配需要使用set keyword,例如{% set a = i + j %}

{% for i, j in items %}
    {% set a = i + j %}

{% endfor %}

另见:"zip(list1, list2) in Jinja2?"

【讨论】:

  • 谢谢,非常有帮助。我只是这样做并工作:在 init.py 中:app.jinja_env.filters['zip'] = zip {% for i, j in items | zip(teams) %} {% set a = i + j %} {% endfor %}
【解决方案2】:

谢谢,很有帮助。我只是这样做并工作: 在 init.py 文件中添加:

app.jinja_env.filters['zip'] = zip

在 index.html 中:

{% for i, j in items | zip(teams) %}
 {% set a = i + j %}
{% endfor %}

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 2014-09-14
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 2013-11-25
    • 2011-02-24
    相关资源
    最近更新 更多