Использование ifchange вместо regroup

8 мая 2017 г. 8: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 - это автомобильные шины. Чтобы легче было находить нужный размер, шины должны быть сгруппированы по диаметру. А чтобы логически правильно отображались размеры, шины должны быть предварительно отсортированы по диаметру.

Оцените статью

5 из 5 (всего 1 оценка)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

Автор статьи

Права на использование материала, расположенного на этой странице http://vivazzi.ru/it/ifchange-instead-of-regroup/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.ru/it/ifchange-instead-of-regroup/">http://vivazzi.ru/it/ifchange-instead-of-regroup/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте