繁体   English   中英

django 模板中的多个 for 循环

[英]multiple for loop in django template

在 Django 中,在列表或数组上使用 for 循环的语法是:

{% for each in list %}
    <td>{{ each }}</td>
{% endfor %}

如果我使用嵌套循环,则数据跨越多列。

如何同时迭代两个或多个列表。 我有 5 个列表要迭代。

例如在python中我可以使用类似的东西:

for x,y in zip(ls1, ls2):
    #Do your work

在视图中使用foo = zip(list1,list2,list3,...) ,然后在模板中迭代:

{% for a,b,c,d,e in list %}
    ....
{% endfor %}

另一种选择是编写您的自定义 {% for %} 模板标签。

顺便说一句:使用list作为变量不是一个好习惯,因为您覆盖了list()函数

您可以在渲染模板之前压缩这两个列表,并将 zip 作为参数传递:

zippedList = zip(list1, list2)
return render('template.html', {'list': zippedList})

在模板中:

{% for item1, item2 in list %}

这样您就可以遍历两个列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM