W moim szablonie zapętlam się przez listę, próbując wykonać układ dwustronny. Ze względu na pożądany układ dwustronny, znacznik muszę napisać w pętli do pętli zależy od tego, czy forloop.counter0 jest nawet nieparzyste. Gdybym miał pełną moc Pythona w języku szablonem, określenie parytetu forloop.counter0 byłoby trywialne, ale niestety tak nie jest. Jak mogę przetestować, czy forloop.counter0 jest nawet lub dziwne przy użyciu języka szablonu Django, czy tak samo dobre, czy istnieje inny sposób, jaki mogłem uzyskać elementy na liście, aby wyświetlić alternatywnie w lewej i prawej kolumnach?

Z góry dziękuję!

2
Jonathan Gleason 27 wrzesień 2011, 19:16

3 odpowiedzi

Najlepsza odpowiedź

Możesz użyć divisibleby filtr z forloop.counter :

{% if forloop.counter|divisibleby:"2" %}even{% else %}odd{% endif %}
2
msanders 27 wrzesień 2011, 15:25

Powinieneś prawdopodobnie używać cycle tutaj. Jeśli chodzi o twoje pytanie, jest filtr o nazwie divisibleby .

Filozofia za systemem szablonu Django jest unikanie poważnej logiki w szablonie. W ten sposób dostarczają narzędzia do wykonywania dość podstawowych obliczeń dla przypadków, takich jak siatki rysunkowe itp.

7
patrys 27 wrzesień 2011, 15:59

Użyj Tag szablonu cyklu:

1
Don 27 wrzesień 2011, 15:19