Wie gehen boolean Schlüsselwort-argument zusammen mit der Verwendung von "Include" template-tag
{% include "example.html" with name="John" hide_last_name=True %}
Grundsätzlich bin ich versucht zu zählen "example.html" als sub-template in mein Haupt-template. Zusätzlichen Kontext ist mit dem bedeuten übergeben, das Schlüsselwort-Argumente name
und hide_last_name
. Während die django-template-system, die keine Probleme erkennen name
es irgendwie nur nicht erkennen kann hide_last_name
. Ich vermute, dass die Verwendung von booleschen Schlüsselwort-argument in Include
tag ist jetzt erlaubt, aber dann kann ich nicht finden, überall in den offiziellen docs erwähnt, dass. Bitte helfen Sie uns. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update: Diese Antwort gilt für alte Versionen von Django. Sehen diese Antwort unten für Django >=1.5
Django Vorlage zu behandeln, die
True
als variable und versuchen Sie es im Kontext.Sie könnte entweder eine nicht-leere Zeichenfolge darstellen, die den Wert true oder weisen Sie den Wert true auf die
True
im Kontext, zum Beispiel durchTEMPLATE_CONTEXT_PROCESSORS
:Für Django <= 1.4.x
Wie gesagt, Django versucht eine variable zu finden mit dem Namen "True".
Der einfachste Weg, dies zu behandeln ist, verwenden Sie einen ganzzahligen Wert, der nicht bewertet werden.
Könnten Sie schreiben, in der includer-Vorlage
und in die Vorlage aufgenommen
Für Django >= 1.5
Können Sie verwenden Sie True und False, die in den Vorlagen, so ist dies kein Problem mehr
In django 1.5 Sie können die Nutzung von True in django-templates nach Ihren release notes.
Und wenn Sie arbeiten auf früheren Versionen müssten Sie für das, was @okm vorgeschlagen!