Ответ 1
Тег цикла предназначен для этого типа проблем:
{% for field in form %}
<li class="{% cycle 'thiscolor' 'thatcolor' %}">{{ field }}</li>
{% endfor %}
У меня есть много полей в моей форме, я пытался применить разные поля css для соседних форм, например
<li class='thiscolor' >
<field>
</li>
<li class='thatcolor' >
<field>
</li>
если есть способ, подобный
{% for field in form %}
**{% if forloop.counter%2 == 0 %}**
<li class='thiscolor'>
{% else%}
<li class='thatcolor'>
{%endif}
{{field}}
</li>
{% endfor %}
для forloop.counter?
Спасибо большое!
Тег цикла предназначен для этого типа проблем:
{% for field in form %}
<li class="{% cycle 'thiscolor' 'thatcolor' %}">{{ field }}</li>
{% endfor %}
Я согласен с Jarret, что cycle
лучше всего здесь, но чтобы ответить на вопрос, операция %2==0
может быть реплицирована с помощью фильтра divisibleby
.
{% if forloop.counter|divisibleby:"2" %}
Еще одна вещь, о которой нужно помнить, заключается в том, что, поскольку это проблема с интерфейсом - стиль - это то, что вы пытаетесь осуществить - вы можете решить его на переднем конце. Вот хороший пример, представленный в нижней части этой A List Apart article. Конечно, если у вас уже есть рабочий код Django, нет смысла делать это сейчас.