【发布时间】:2021-12-17 11:47:24
【问题描述】:
{% for data in data_list %}
{% set data_index = {{loop.index}} %}
for data_dict in data:
pass
在我的内循环中,我需要在外循环中使用循环索引,因此我打算将其设置为如上所述的变量。但是语法无效。
如何做到这一点?还是有其他方法可以获取外循环索引?
【问题讨论】:
{% for data in data_list %}
{% set data_index = {{loop.index}} %}
for data_dict in data:
pass
在我的内循环中,我需要在外循环中使用循环索引,因此我打算将其设置为如上所述的变量。但是语法无效。
如何做到这一点?还是有其他方法可以获取外循环索引?
【问题讨论】:
您可以使用内置的 enumerate 函数来获取 i 作为变量,如果需要,也可以在内部循环中使用它。
{% for i,data in enumerate(data_list) %}
{{ i }}
{% for j in range(i) %}
{% endfor %}
{% endfor %}
您只需将enumerate 或任何您需要的内置python 函数作为参数传递给渲染模板函数,如下所示
@app.get("/foo")
def foo():
return render_template("foo.html", enumerate=enumerate, range=range)
【讨论】:
我认为,你不应该在语句({%..%})中使用表达式({{..}}),试试这个:
{% for data in data_list %}
{% set data_index = loop.index %}
for data_dict in data:
pass
【讨论】: