1. ホーム
  2. python

[解決済み] Django テンプレートでのモジュラス

2022-06-19 09:24:39

質問

私は、django でモジュラス演算子のようなものを使う方法を探しています。私がやろうとしていることは、ループ内のすべての4番目の要素にクラス名を追加することです。

モジュラスを使うと、次のようになります。

{% for p in posts %}
    <div class="post width1 height2 column {% if forloop.counter0 % 4 == 0 %}first{% endif %}}">
        <div class="preview">

        </div>
        <div class="overlay">

        </div>
        <h2>p.title</h2>
    </div>
{% endfor %}

もちろんこれはうまくいきません。%は予約文字だからです。他に方法はないのでしょうか?

どのように解決するのですか?

あなたは divisibleby という、django 組み込みのフィルタが必要です。

{% for p in posts %}
    <div class="post width1 height2 column {% if forloop.counter0|divisibleby:4 %}first{% endif %}">
        <div class="preview">

        </div>
        <div class="overlay">

        </div>
        <h2>p.title</h2>
    </div>
{% endfor %}