多个列表在django模板中的并行迭代

自己接触django时间不长,刚遇到一点小问题,就是在django模板中如何并行迭代多个列表。

一开始我想到或许可以传入多个列表,然后在模板中使用forloop.counter变量的值去访问另一个列表的元素。

比如当我迭代list1和list2的时候,使用类似下面的代码:

{% for item in list1 %}

access list2 item via {{ list2.forloop.counter}}

{% endfor %}

forloop.counter是一个计数器,保存了当前的迭代计数器。然而,测试之后,发现这个方法是不可行的。

随后,我又测试了另一种方法,在模板中zip打包 list1和list2,然后通过序列解包来并行迭代。模板代码类似:

{% for item1,item2 in zip(list1, list2) %}

{{item1}} {{item2}}

{% endfor %}

不过, 这样也是不可行的。模板系统无法完成上面的工作。

那么,到底应该如何并行迭代呢?

继续阅读多个列表在django模板中的并行迭代