Использование 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