dbから読み込んだデータをテーブルに並べたい時があると思います。
例えば「左上から1行につき5個」といった感じにしたいときはこんな風に書きます。
<table>
{% for member in members %}
{% if forloop.counter0|divisibleby:"5" %}
</tr>
{% endif %}
<td>{{member.name}}:{{member.age}}</td>
{% endfor %}
</tr>
</table>
いちおう解説
- forloop.couter0
- この文を囲っているforループの現在のループ回数(0からカウント)
- |(縦線)
- 左の結果を右に渡すという意味 linuxコマンドの|みたいなかんじ
- forloop.counter0|divisibleby:"5"
- forloop.counter0が5で割り切れる数ならTrueが返ってくる。
- ここではTrueならが出力される。対になるは勝手に補完してくれるみたい(環境によるのかも)