Dies ist nicht möglich und spiegelt ein tiefes Problem in Ihrem Verständnis der Webanwendungsarchitektur wider. jinja2 ist eine Template-Engine für Python, die auf Ihrem Server läuft. JavaScript, über das Sie sprechen, wird in Ihrem Browser ausgeführt.
Wenn ein Server eine Anforderung empfängt, verarbeitet er eine jinja2-Vorlage, um die Antwort zu erhalten, die er an den Client sendet. Sie können "Jinja Variable nicht auf js Variable setzen", Sie können die Seite so rendern, dass einer JavaScript-Variablen schließlich ein Wert zugewiesen wird, der sich in einer Jinja2-Variablen befindet. I.e. Sie beginnen mit var x = {{ value }}
in jinja2 Vorlage; jinja2 verwandelt es während seiner Wiedergabe in var x = 42
; Dann wird das gerenderte Ergebnis an den Client gesendet, der es als JavaScript ausführt und einen Wert von 42 an x
zuweist. Die Tatsache, dass es hier eine zeitliche Abfolge gibt (Python -> jinja2 -> gerenderte Seitenquelle -> JavaScript) bedeutet, dass Sie nicht tun können, was Sie wollen: Die Variable jinja2 und die JavaScript-Variable existieren nicht gleichzeitig , noch an der gleichen Stelle, und das Zuweisen eines JavaScript-Werts zu einer jinja2-Variablen ist unmöglich.
Um den Wert 42
an Python (und möglicherweise später an jinja2) zu senden, müssten Sie eine Anfrage stellen, die diesen Wert vom Client zum Server sendet: eine Formularübermittlung oder eine AJAX-Anfrage.
Sie könnten eine bessere Antwort erhalten, wenn Sie genau beschreiben würden, was Sie tun möchten, von dem Sie denken, dass Sie "JavaScript-Wert auf jinja Variable setzen" müssen.