Использование ifchange вместо regroup
8 мая 2017 г. 12:46
Шаблонный тег regroup
хорош для группировки выводимых данных в шаблоне. Но не менее полезен похожий шаблонный тег ifchange
, который будет выводить содержимое, если входящий параметр отличается от предыдущего в цикле. Для меня его использование легче запоминается.
Реальный пример кода одного моего проекта :
{% for product in products %} {% ifchanged product.diameter %}<h2>R{{ product.diameter }}</h2>{% endifchanged %} <div class="item"> <div class="t">{{ product.get_title }}</div> <p>Размер: {{ variant.get_size }}</p> <p>Цена: {{ variant.get_state }}</p> <p>Стоимость: {{ variant.get_price_html }}</p> </div> {% endfor %}
Объекты products - это автомобильные шины. Чтобы легче было находить нужный размер, шины должны быть сгруппированы по диаметру. А чтобы логически правильно отображались размеры, шины должны быть предварительно отсортированы по диаметру.
Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0