ich in meiner Vorlage folgendes haben innerhalb einer Tabelle:Django in Wert einer Variablen auf der
{% for sb in ship_back %}
<tr>
<td>{{ sb.ring_name }}</td>
<td>{{ sb.release.ring }} pp{{ sb.release.ppack }}</td>
</tr>
{% endfor %}
Dies erzeugt die folgende Ausgabe:
Larry 15 pp28
Moe 15 PP29
Curly 15 PP30
Shemp 16 PP7
Ich möchte eine horizontale Linie in der Tabelle hinzuzufügen, wenn die {{}} sb.release.ring Wert ändert. Im obigen Beispiel würde das zwischen Curly und Shemp liegen.
Ich würde normalerweise eine Variable für diese außerhalb der for-Schleife erstellen, setzen Sie ihren Anfangswert auf 0, einen Vergleich am Anfang der for-Schleife (Ignorieren der 0 Fall) und wenn es nicht den aktuellen Wert von {{sb.release.ring}}, ich würde die horizontale Linie einfügen.
Ich kämpfe um herauszufinden, wie dies in Django erreichen.
Das ist für mich fast funktioniert. Es setzt die
vor Larry und vor Shemp. Letzteres ist passend für was ich will. Ich vermute, dass das ifchanged nichts bewertet, was zu einer Veränderung wird, und deshalb setzt es auch die
dort hin. –
Ich konnte es zur Arbeit bringen, indem ich eine if-Anweisung innerhalb des ifchanged-Blocks hinzufügte. {% ifchanged% sb.release.ring.ring} {% if forloop.counter> = 2%}
Wenn es keinen Grund gibt, warum das keine gute Idee ist, werde ich das als akzeptierte Antwort bezeichnen. –