Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Как определить чётность номера итерации цикла в шаблоне Django

#python #html #django


Мне нужно чередовать в шаблоне класс контейнера div 

{% for smth in smth_list %}
{% if (forloop.counter % 2 != 0) %}  
{{ smth }}
{% else %}
{{ smth }}
{% endif %} {% endfor %} Этот код выдает ошибку: Could not parse the remainder: '(forloop.counter' from '(forloop.counter'


Ответы

Ответ 1



Фильтр divisibleby {% if forloop.counter|divisibleby:"2" %}

Ответ 2



Вообще, такое принято делать немного по-другому, через cycle: {% for smth in smth_list %}
{{ smth }}
{% endfor %} Каждый раз, когда будет встречаться тег cycle, будет чередоваться и подставляться значение из списка указанных. Или, если нужно не выводить, а держать в переменной (скажем, использовать значение несколько раз), то так: {% for smth in smth_list %} {% cycle 'container-1' 'container-2' as smth_container silent %}
{{ smth }}
{% endfor %}

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

Отправить комментарий