Ich kann nicht feststellen, ob eine Variable leer ist, wenn sie in der Vorlage verwendet wird.
Ich habe die gesamte Sammlung durchgespielt und suche in jedem die Variable narrative_text
.
Ich habe die leere Variable mit
getestet %Vor%Ich bemerke, dass das Steuerelement diesen Block betritt, aber druckt nichts / leer wenn das
%Vor%wurde gefunden.
Also, wie überprüfe ich genau, ob die Variable leer ist?
Ich habe die Dokumente gelesen und festgestellt, dass Leere Vorlagenvariablen werden durch ''
ersetzt.
Der Doc sagt das
Das Vorlagensystem fügt den Wert der Einstellung
TEMPLATE_STRING_IF_INVALID
ein.
Müssen wir das explizit in settings.py
eingeben? Ich habe es versucht, aber ich konnte es immer noch nicht schaffen.
all_narratives
wird von einem Pymongo-Datenbankaufruf zurückgegeben.
Pipe durch die Länge und teste deinen Test gegen diesen Wert.
%Vor% Benutze einfach {% if narratives.narrative_text %}
, denke ich. Es verwendet Pythons implizites False, das für leere Strings, leere Arrays, leere Dicts, None
, False
, 0
usw. gilt.
Sie können Filter für benutzerdefinierte Vorlagen schreiben , is_empty
zu prüfen. Gibt false
zurück, wenn die Variable leer ist, und true
, wenn ein Wert existiert.
Ich habe jijnja verwendet, das ist viel ähnlicher und einfacher und ich denke, es würde funktionieren, wenn du es tust
%Vor% Es verwendet python implizite True/False,None,
etc, um den Job zu erledigen.
Im einfachsten Fall verwenden Sie Python-Variablen in {{ }}
und Conditionals usw. in {% %}
Tags und Links python django mongodb django-templates pymongo