【django】個数区切りでデータを並べる

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ならが出力される。対になるは勝手に補完してくれるみたい(環境によるのかも)
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.