一尘不染

使用迭代列表中的索引

django

我试图根据当前正在另一个列表上迭代的索引显示来自其他列表的值,但无法弄清楚如何访问各个项目。

{% for row in myarray.all %}
    <tr>
    <th>{{ my_other_array_where_I_cant_access_elements.forloop.counter }}</th>
    <td>{{ row }}</td>
    </tr>
{% endfor %}

如你所见,我尝试使用forloop.counter它,但是它什么也不显示,它只是创建一个空的表头元素。

我的其他数组在视图中的定义如下,如果删除,forloop.counter则可以看到整个数组已打印到表头

 my_other_array_where_I_cant_access_elements = ["X", "Y", "Z", "XX", "YY"]

如果我错过任何必填信息,请告诉我。


阅读 470

收藏
2020-04-03

共1个答案

一尘不染

听起来你想同时遍历两个列表,换句话说就是zip()列表。

如果是这种情况,最好在视图中进行操作并在上下文中传递:

headers = ["X", "Y", "Z", "XX", "YY"]
data = zip(headers, myarray.all())
return render(request, 'template.html', {'data': data})

然后,在模板中:

{% for header, row in data %}
    <tr>
        <th>{{ header }}</th>
        <td>{{ row }}</td>
    </tr>
{% endfor %}
2020-04-03