1. TOP
  2. ブログ
  3. Django Template(テンプレート)ifchanged、forループで前回と異なる値か判定して処理変更

Django Template(テンプレート)ifchanged、forループで前回と異なる値か判定して処理変更

更新日:2021年2月1日
Django Template(テンプレート) のタグで、forループの中で、変数が前回と異なっているか判定して、処理を変更する事ができる方法があり、便利ですので記載しておきます。

環境:Python3.8.2 Django3.1

forループの中で変数の値が前回と異なるか判定

・ifchangedタグ


templatesファイル
{% for list in blog %}
  {% ifchanged list.auhtor %}
    {{ list.auhtor }}
  {% else %}
    同じ
  {% endifchanged %}
{% endfor %}


上記のように for文の中で、前回ループ時の値が異なっているか判定し、出力する内容を変更する事ができます。
ifchangedタグで異なっている場合の表示、elseタグで同じ値の場合の表示を記載します。
グルーピングしてからソートして同じ分類の場合は、値を出力したくない時などにとても便利です。

以上。


B!

前の記事:Django Template(テンプレート)spaceless、HTMLタグ間の空白、タブ、改行の自動削除

次の記事:Django SQL データベース DELETEによるデータ削除方法 delete() 操作 まとめ 入門