Ist es möglich mit AngularJS mit Jinja2 template-engine?
Habe ich ein Fläschchen Website und ich möchte das AngularJS JavaScript-framework. Leider, es scheint, als ob die Klammern überlappen.
Wie verwende ich Eckige mit Jinja2, wenn beide beruhen auf doppelten geschweiften Klammern ({{ expr }}
)? Ist es überhaupt möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einige Optionen.
1) Ändern Sie das Trennzeichen notation für Eckige:
Was auch immer gewählt wird, für die start-und Ende-Symbole fungieren als neues Trennzeichen. In diesem Fall würden Sie express eine variable Winkel-mit
{a some_variable a}
.Dieser Ansatz hat den Vorteil, dass Sie nur benötigt, um einmal festgelegt werden und wird explizit.
2) Ändern Sie das Trennzeichen notation für Jinja2.
Überschreiben oder Unterklasse
Flask.jinja_options.update
auf dieFlask
Objekt, das Sie binden an Ihre Anwendung relevanten vars:block_start_string
,block_end_string
,variable_start_string
,variable_end_string
,comment_start_string
,comment_end_string
):Da es ein höheres Risiko, dass vertrauliche Daten, die kommenden un-ausgebaut aus von der server-Seite, ich schlage vor, stattdessen die änderung der syntax in der front-end - (d.h. Winkel -) auf jedem Projekt, in dem du bist nicht der einzige Entwickler.
3) Ausgang a raw-block in Jinja2 mit
{% raw %}
oder{% verbatim %}
:4) Verwenden Sie Jinja2 schreiben Sie die geschweiften Klammern in der Vorlage:
dieser Ausgabe, wie
{{ some_var }}
im HTML.Meine Vorliebe für Ansatz #1 ist offensichtlich, aber jede der oben genannten arbeiten.
Es gibt auch eine andere option: Kolben-Dreieck ist eine Erweiterung zu helfen, Sie bauen Formen, während die Integration von Winkel-templating in jinja2.
Anstelle der änderung eckig(oder jinja2) Klammer Trennzeichen, können Sie einfach fügen Sie einen Bezeichner zu sagen, jinja2, wenn der Ausdruck gerendert werden muss, als eine eckige. Fügen Sie einfach
|angular
nach Ihren Variablen:Welche dargestellt wird, in der HTML-Ausgabe als:
Bitte beachten Sie, dass Kolben-Dreieck kommt auch mit anderen Funktionen (für das bauen von Formen in eckige Stil), aber ich denke, es könnte eine wertvolle option sein, um Winkel-templating in jinja2 mehr lesbar.