2016-07-21 8 views
0

Wenn ich folgendes in meiner Jinja Vorlage zu verwenden war:Einstellung Flask Wörterbuch Wert über Jinja

{% set data['enabled'] = True %} 

erhalte ich die Fehler TemplateSyntaxError: expected token '=', got '['. Das Setzen von ein Wort Variablen ist in Ordnung, aber wie der Fehler angibt, bringt das Setzen von Wörterbuch-Werten durch Jinja einen Fehler.

Gibt es eine Problemumgehung für dieses Problem? Vielen Dank.

+0

'{% set session.logged_in = True%}' ... vielleicht? –

Antwort

2

Jinja2 versucht, Zuweisungen in seinem Code zu beschränken, um die Logik aus der Ansicht zu entfernen (siehe MVC explanation).

Wenn Sie immer noch eine Zuweisung machen möchten, müssen Sie update mit einem Do-Block verwenden. Dazu müssen Sie Expression Statements aktivieren. Danach können Sie etwas wie folgt versuchen:

{% do data.update({'enabled':'True'}) %} 
+2

Aber wirklich, mutieren Daten in Vorlagen nicht. Ja wirklich. – davidism