使用Django模板中的for循环范围函数对列表进行切片



我正在开发一个关于统计计算的Django应用程序。但现在我遇到了一个我无法解决的问题。我的视图中有两个列表:ylist1 = [5, 6, 7, 8]list2 = [5, 6, 7, 8]。我将其发送到Django模板,并将'n' : range(7)作为上下文发送。

在我的html代码中,有一个代码

<table>
<thead>
<tr>
<th>list1</th>
<th>list2</th>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</thead>
</table>

现在我想在第一行中打印每个列表的第一个值,然后在第二行中打印每一个列表的第二个值,依此类推

所以我做了一个类似的代码

<table>
<thead>
<tr>
<th>list1</th>
<th>list2</th>
</tr>
{% for i in n %}
<tr>
<td> {{ list1.i }} </td>
<td>{{ list2.i }}</td>
</tr>
{% endfor %}
</thead>
</table>

写完这段代码后,我没有得到任何错误,但值没有显示。取而代之的是一个空白的行和列。

请帮助我打印要打印的值。

作为一般规则,您应该保留视图中的所有逻辑。我要做的是压缩列表并使用元组。

views.py:

new_list = zip(list1, list2)
context = {
'new_list': mylist,
}

和在模板上:

{% for list1_item, list2_item in new_list %}
<tr>
<td> {{ list1_item }} </td>
<td> {{ list2_item }}</td>
</tr>
{% endfor %}

最新更新