回答:
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 %}
forloop.parentloop
詳細については参照ドキュメントを確認してください。
これを使用することもできます:
{% if forloop.first %}
または
{% if forloop.last %}
[Django HTMLテンプレートは現時点ではインデックスをサポートしていません]が、次の目標を達成できます。
views.pyのDictionary内でDictionary を使用する場合、インデックスとしてキーを使用して反復が可能です。例:
{% 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 %}
End If;)
//ソリューションが辞書、リスト、HTMLテンプレート、Forループ、Innerループ、If Elseでカバーされていることを願っています。Django HTML Documentaion for more methods:https : //docs.djangoproject.com/en/2.2/ref/templates/builtins/