Bei Verwendung einer Kombination aus Bootstrap.css und Djangos Template-Engine
{% if param.status == 1 %}
<!--Geben Sie den Klassennamen für bestimmte Bedingungen aktiv an-->
<li class="active">
{% else %}
<li>
{% endif %}
<a href="#">Active</a>
</li>
……
Es gibt Zeiten, in denen man so schreiben muss. Einrückungen werden verwirrend und Es ist schwer zu erkennen, wie viele Zeilen für genau diese Verarbeitung aufgewendet werden.
Also habe ich versucht herauszufinden, wie man es kurz schreibt. Ich habe einen eingebauten Filter namens "yesno" gefunden. https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#yesno
Dieser Filter verwendet eine durch Kommas getrennte Zeichenfolge als Argument. Wenn der Wert vom Anfang des Arguments bis zum Komma als True interpretiert werden kann, Wenn der Wert als falsch interpretiert werden kann, wird das erste bis zweite Komma Und wenn der Wert None ist, wird er vom zweiten Komma zurückgegeben. (Keine ist optional)
{{ value|yesno "Ja,Nein,Keiner" }}
angesichts dessen, Wenn der Wert True ist (Beispiel: "1", "hoge" usw. sind in Ordnung), "Ja", Wenn der Wert False ist (Beispiel: "0" "" "]), ist es" No ".
Wenn Sie die obige Vorlage mit diesem interessanten Filter neu schreiben
<!--Geben Sie den Klassennamen für bestimmte Bedingungen aktiv an-->
<li class="{{ param.status|yesno:'active,' }}">
<a href="#">Active</a>
</li>
Es wird sein. Eine Zeile wird länger sein, aber als das vorherige Schreiben Die Struktur des Einzugs ist erfrischend und leicht zu erkennen, was ein großer Vorteil ist.
Recommended Posts