python - 获取 Jinja for 循环中的当前值和下一个值

标签 python flask jinja2

是否有一种方法可以在 Jinja2 中迭代列表,从而可以在单次迭代中访问第 n 个和第 (n+1) 个元素?

{% for x in my_list %}

<!-- print the current and the (current+1) -->
{{x}}, {{x+1}} <-- this is wrong but hopefully highlights the problem

{% endfor %}

此外,for 循环是否允许“步长”增量?

最佳答案

Jinja 有一个 loop.index您可以使用该变量来访问列表中的下一个值:

@app.route('/')
def index():
    return render_template_string("""
        <body>
            {% for x in my_list %}
                <p>
                    {{ x }} {{ my_list[loop.index] }}<br>
                </p>
            {% endfor %}
        </body>
    """, my_list=range(10))

0 1

1 2

2 3

3 4

4 5

5 6

6 7

7 8

8 9

9

关于python - 获取 Jinja for 循环中的当前值和下一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38509802/

相关文章:

python - 多行 'if' 语句缩进的代码样式?

python - 我在我的 flask 中遗漏了什么 restful api 输出是空的并且重复了

flask - 使用 FLASK_ENV=development 和 app.run(debug=True) 有什么区别?

python - Python 前标签之间的解析

python - 如何在 HTML 中嵌入 python 文件或代码?

python - 使 python 3 异常向后兼容

python-3.x - 如何使用 Marshmallow 序列化嵌套字典?

python - JSON 在 Jinja2 模板中显示为 unicode 实体

ansible - 在 Ansible 中生成有效字典,条件取决于

python - 使 Flask block 过载?