目次
リストのfor文
<ul>
{% for data in data_list %}
<li>{{ data }}</li>
{% endfor %}
</ul>
リストのリストのfor文
<ul>
{% for data1, data2 in data_list_list %}
<li>{{ data1 }} & {{ data2 }}</li>
{% endfor %}
</ul>
辞書のfor文
<ul>
{% for key, value in data_dict.items %}
<li>{{ key }} : {{ value }}</li>
{% endfor %}
</ul>
空の場合の処理
{% for data in empty_data_list %}
<p>{{ data }}</p>
{% empty %}
<p>空です。</p>
{% endfor %}
ループ回数を使う
1からスタートのループ回数
forloop.counter
<ul>
{% for data in data_list %}
{% if forloop.counter == 2 %}
{% comment %}2番目は表示しない{% endcomment %}
{% else %}
<li>{{ forloop.counter }} : {{ data }}</li>
{% endif %}
{% endfor %}
</ul>
0からスタートのループ回数
forloop.counter0
<ul>
{% for data in data_list %}
{% if forloop.counter0 == 1 %}
{% comment %}2番目は表示しない{% endcomment %}
{% else %}
<li>{{ forloop.counter0 }} : {{ data }}</li>
{% endif %}
{% endfor %}
</ul>
1からスタートの末尾から数えたループ回数
forloop.revcounter
{% for data in data_list %}
{% if forloop.revcounter == 2 %}
{% comment %}後ろから2番目は表示しない{% endcomment %}
{% else %}
<li>{{ forloop.revcounter }} : {{ data }}</li>
{% endif %}
{% endfor %}
0からスタートの末尾から数えたループ回数
{% for data in data_list %}
{% if forloop.revcounter0 == 1 %}
{% comment %}後ろから2番目は表示しない{% endcomment %}
{% else %}
<li>{{ forloop.revcounter0 }} : {{ data }}</li>
{% endif %}
{% endfor %}
最初のループ/最後のループ
forloop.first
ループが最初の場合True。
forloop.last
ループが最後の場合True。
{% for data in data_list %}
{% if forloop.first %}
<ul>
{% endif %}
<li>{{ forloop.first }}/{{ forloop.last }} : {{ data }}</li>
{% if forloop.last %}
</ul>
{% endif %}
{% endfor %}
親のループ
forloop.parentloop
入れ子のループの場合、一つ上のループの情報を取得。
{% for d_list in data_list_list %}
<ul>
{% for d in d_list %}
<li>{{ forloop.parentloop.counter }}-{{ forloop.counter }}:{{ d }}</li>
{% endfor %}
</ul>
{% endfor %}