我正在将列表传递给 View 。我的数组如下所示:[football, basketball, soccer]
。在我看来,我想显示如下内容:
1. football
2. basketball
3. soccer
这意味着我必须遍历传递给数组的列表,对元素执行 for 循环。我将如何在模板文件中执行此操作?
对于每个元素,我必须获取其索引并将其加 1。现在,我不知道如何在 View 中执行此操作。我考虑这样做的一种方法是制作字典,像这样,{'1', 'football': '2', 'basketball': '3', 'soccer'}
,但是因为我已经有了列表格式的数据,所以我宁愿不转换它。
最佳答案
你想要 forloop.counter模板变量。
The for loop sets a number of variables available within the loop:
forloop.counter The current iteration of the loop (1-indexed)
所以你的代码应该是这样的:
{% for sport in sports %}
<p>{{forloop.counter}}. {{ sport }}</p>
{% endfor %}
当然,为了像您在问题中那样简单地显示数据,更简单的方法是只显示有序列表中的项目,浏览器将为您进行编号:
<ol>
{% for sport in sports %}
<li>{{ sport }}</li>
{% endfor %}
</ol>
关于python - 如何在 Django 的列表迭代期间显示索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8088069/