{% for i in data %}
<a href="" class="{{ loop.cycle('foo', 'bar') }}">{{ i }}</a>
{% endfor %}
Damit ist man sogar nicht nur auf zwei verschiedene Elemente beschränkt, sondern kann theoretisch beliebig viele unterscheiden. Coole Sache das! Ich mag Jinja immer mehr
Wobei ``cycle`` durchaus auch schon in Django auch möglich war, nur dass die Django-Templates das mal über globale Variablen gemacht haben, was natürlich ziemlich blöd ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Leonidas hat geschrieben:Wobei ``cycle`` durchaus auch schon in Django auch möglich war, nur dass die Django-Templates das mal über globale Variablen gemacht haben, was natürlich ziemlich blöd ist.
Aktuell ist es eine Exemplarvariable von `CycleNode`, was nicht threadsafe wäre, wenn sich zwei Threads ein Template teilen. Ansonsten ist da aber nicht gegen zu sagen und es ist doch wohl egal, wie es mal war.
Mit `itertools.cycle()` oder `enumerate()` ist das in so ziemlich jeder Template-Sprache direkt oder indirekt möglich
Ich bevorzuge ob des geringeren erforderlichen Codes auch seit Jahren den Weg, Zeilen immer mit einer Klasse zu versehen, also etwa `row0`, `row1` und optional weitere.