2016-06-24 3 views
0

Ich verwende Ajax, um eine boolesche Variable in meinem Django-Projekt asynchron zu aktualisieren. Ich kann diese Variable mithilfe der Vorlage erfolgreich anzeigen, aber ich bin mir nicht sicher, wie ich diese Variable in der eingebetteten Python-Logik der Vorlage verwenden kann.Wie kann ich eine JSON-Antwort in bedingter Python-Logik verwenden?

Grundsätzlich

{% if JSON_BOOL %} 

<p>this</p> 

{% else %} 

<p>that</p> 

{% endif %} 

Wo die JSON_BOOL durch eine ajax Funktion zugeführt wird. Was ist der beste Weg, die Variable für die bedingte Logik verfügbar zu machen? Vielen Dank.

+0

Mögliches Duplikat von http://StackOverflow.com/Questions/23838975/How-to-get-values-from-the-ajax-into-django-template – Arpan

+0

Ziemlich ähnlich zu dem, was ich frage, @Arpan, aber diese Antwort gibt nicht an, wie ich den zurückgegebenen JSON als Python-Variable verwenden kann. Vielen Dank! –

+0

Nur damit ich Ihr Problem verstehe, müssen Sie eine JSON-Variable, die in einer Vorlage gerendert wird, von Text in einen bool-Wert umwandeln, damit Sie sie in der bedingten Logik verwenden können. – JwM

Antwort

1

Es gibt zwei Möglichkeiten, dies zu lösen. Wenn ich Sie wäre, würde ich nur die Variable im Textformat verlassen und in Ihrem Code sagen:

{% if JSON_BOOL == "True" %} 
... 
{% else %} 
...the rest of your code 

Sonst könnte man es auf eine boolean auf der Python-Seite der Dinge werfen. Dies würde aussehen wie in der Ansicht folgt:

if JSON_BOOL == "True": 
    JSON_BOOL = True 
else: 
    JSON_BOOL = False 

Ich bin mir nicht bewusst, so Variablen auf verschiedene Arten innerhalb der Vorlage zu werfen itself..this außerhalb des Anwendungsbereichs der Funktionalität zu sein scheint, und so oder so Es ist besser, die Funktionalität aus Vorlagen herauszuhalten. Hoffe das hilft.

Verwandte Themen