Django Template(テンプレート)ifchanged、forループで前回と異なる値か判定して処理変更
更新日:2021年2月1日環境:Python3.8.2 Django3.1
forループの中で変数の値が前回と異なるか判定
・ifchangedタグ
templatesファイル
{% for list in blog %}
{% ifchanged list.auhtor %}
{{ list.auhtor }}
{% else %}
同じ
{% endifchanged %}
{% endfor %}
{% ifchanged list.auhtor %}
{{ list.auhtor }}
{% else %}
同じ
{% endifchanged %}
{% endfor %}
上記のように for文の中で、前回ループ時の値が異なっているか判定し、出力する内容を変更する事ができます。
ifchangedタグで異なっている場合の表示、elseタグで同じ値の場合の表示を記載します。
グルーピングしてからソートして同じ分類の場合は、値を出力したくない時などにとても便利です。
以上。