python-ForLoop迭代作为Django模板中的列表索引

我正在构建一个django网页,但似乎遇到了障碍,因为我无法真正弄清楚如何将for循环的当前迭代(在模板中)用于多个列表:

        {% for num in loopRange %}
    <tr>
        {% for num2 in subRange %}
        <td>{% cycle list1 list2 list3 list4 %}</td>
        {% endfor %}
    </tr>
    {% endfor %}

我在这里发现了两个类似的问题,我尝试使用循环,但是可惜这只是导致列表中的所有成员每次都被打印出来-并非完全出乎意料,但我无法弄清楚自己的一生.

我所拥有的是多个内容相似的列表,每个列表都是一行中的一列.因此,如果它是python,而我正在连接字符串,它将是这样的:

for i in xrange(5):
    string = list1[i] + list2[i] + list3[i] + list 4[i]

所以基本上.除了两个xrange(在第一个示例中为loopRange和Subrange)之外,我还将每个列表作为上下文传递,我需要五行(每个列表有五个成员)和四列(四个列表).

编辑:我想简而言之,我想将列表索引称为foo [bar],在Django中作为foo.bar完成,但是bar显然不能是作为内容传递的可迭代范围的整数

谢谢!

解决方法:

我想说最好的方法是在将数据传递给模板之前,先处理视图中的数据.

例如,内置的zip可用于基于包含列的列表创建行列表:

rows = zip(list1, list2, list3, list4)

之后,模板可以逐行遍历行,并在需要时使用索引访问来访问列:

{% for row in rows %}
  {{row.0}} {{row.1}} {{row.2}} {{row.3}}
{% endfor %}
上一篇:JavaScript-此硬币找零算法怎么了


下一篇:Java在“无效输入”上循环切换案例语句