zwei Variablen in der jinja2-Vorlage vergleichen

8

Gegeben habe ich zwei Variablen {{ profile }} mit einem Wert "test" und {{ element.author }} wieder mit dem Wert "test". In Jinja2, wenn ich versuche, sie mit einem if zu vergleichen, zeigt sich nichts. Ich mache den Vergleich wie folgt:

%Vor%

Ich bekomme die Ausgabe test and test are not same Was ist falsch, wie kann ich vergleichen?

    
user1629366 27.09.2012, 14:32
quelle

3 Antworten

10

Ich habe das gleiche Problem, zwei Variablen mit einem ganzzahligen Wert sind nicht gleich, wenn sie den gleichen Wert haben.

Gibt es irgendeinen Weg, dies irgendwie zu machen? Habe auch versucht, str () == str () oder int () == int () zu verwenden, aber es gibt immer einen undefinierten Fehler.

AKTUALISIEREN

Gefundene Lösung: Verwenden Sie einfach Filter wie {{ var|string() }} oder {{ var|int() }} Ссылка

Lesen Sie das Dokument, das Sie hier finden Ссылка

In Ihrem Fall möchten Sie

machen %Vor%     
tgdn 10.04.2015 10:15
quelle
2

profile und element.author sind nicht vom selben Typ oder anders sind nicht gleich. Sie geben jedoch den gleichen Wert aus, wenn sie in eine Zeichenfolge konvertiert werden. Sie müssen sie korrekt vergleichen oder ihre Typen ändern, damit sie gleich sind.

    
mjibson 27.09.2012 20:14
quelle
1

Sie können die Typen der Variablen mit einem der vielen integrierten Tests von jinja2 überprüfen hat verfügbar. Zum Beispiel string() oder number() . Ich hatte das gleiche Problem und mir wurde klar, dass das die Typen waren.

    
mazzi 01.11.2013 08:32
quelle