Answers:
Django提供了它。您可以使用以下任一方法:
{{ forloop.counter }}
索引从1开始。{{ forloop.counter0 }}
索引从0开始。在模板中,您可以执行以下操作:
{% for item in item_list %}
{{ forloop.counter }} # starting index 1
{{ forloop.counter0 }} # starting index 0
# do your stuff
{% endfor %}
在更多信息:为| 内置模板标签和过滤器| Django文档
forloop.parentloop
参阅参考文档以获取更多信息。
[Django HTML模板目前不支持索引],但是您可以实现目标:
如果您在views.py中的Dictionary中使用Dictionary,则可以使用key作为索引进行迭代。例:
{% for key, value in DictionartResult.items %} <!-- dictionartResult is a dictionary having key value pair-->
<tr align="center">
<td bgcolor="Blue"><a href={{value.ProjectName}}><b>{{value.ProjectName}}</b></a></td>
<td> {{ value.atIndex0 }} </td> <!-- atIndex0 is a key which will have its value , you can treat this key as index to resolve-->
<td> {{ value.atIndex4 }} </td>
<td> {{ value.atIndex2 }} </td>
</tr>
{% endfor %}
否则,如果您在字典中使用列表,则不仅可以控制第一次和最后一次迭代,而且可以控制所有索引。例:
{% for key, value in DictionaryResult.items %}
<tr align="center">
{% for project_data in value %}
{% if forloop.counter <= 13 %} <!-- Here you can control the iteration-->
{% if forloop.first %}
<td bgcolor="Blue"><a href={{project_data}}><b> {{ project_data }} </b></a></td> <!-- it will always refer to project_data[0]-->
{% else %}
<td> {{ project_data }} </td> <!-- it will refer to all items in project_data[] except at index [0]-->
{% endif %}
{% endif %}
{% endfor %}
</tr>
{% endfor %}
万一 ;)
//希望用字典,列表,HTML模板,For循环,内部循环,其他方式覆盖解决方案。有关更多方法的Django HTML Documentaion:https : //docs.djangoproject.com/en/2.2/ref/templates/builtins/