Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie übergebe ich mit Jinja2 Daten von Flask an JavaScript in Vorlagen?

Susan Sarandon
Freigeben: 2024-10-27 21:58:01
Original
1074 Leute haben es durchsucht

How to Pass Data from Flask to JavaScript in Templates Using Jinja2?

Übergabe von Daten von Flask an JavaScript in Vorlagen

Beim Abrufen von Daten von einer API in einer Flask-Anwendung kann eine Übergabe erforderlich sein diese Informationen in JavaScript in der entsprechenden Vorlage. In diesem Artikel wird untersucht, wie Sie dies erreichen können, indem Sie die Leistungsfähigkeit von Jinja2-Vorlagen nutzen.

In Flask können wir mit der Funktion render_template Variablen an HTML-Vorlagen übergeben. Um diese Variablen jedoch in JavaScript verfügbar zu machen, ist ein zusätzlicher Schritt erforderlich.

Jinja2, die von Flask verwendete Template-Engine, stellt eine Syntax bereit, die die Einbettung von Python-Ausdrücken in Vorlagen ermöglicht. Das bedeutet, dass wir {{ variable }} überall in der Vorlage verwenden können, auch in JavaScript-Skripten.

Betrachten Sie beispielsweise die folgende Flask-Route, die Koordinaten von einer API abruft:

<code class="python">@app.route('/')
def get_data():
    events = api.call(get_event, arg0, arg1)
    geocode = event['latitude'], event['longitude']
    return render_template('get_data.html', geocode=geocode)</code>
Nach dem Login kopieren

In der entsprechenden Vorlage können wir die Geocode-Variable wie folgt an JavaScript übergeben:

<code class="html"><script>
var someJavaScriptVar = '{{ geocode[1] }}';
</script></code>
Nach dem Login kopieren

Dies ermöglicht uns den Zugriff auf den Wert von Geocode[1] als eine JavaScriptVar in unserem JavaScript-Code.

Um die Geocode-Variable als Array zu übergeben, können wir alternativ die Array-Definition in der Vorlage generieren:

<code class="html"><script>
var myGeocode = ['{{ geocode[0] }}', '{{ geocode[1] }}'];
</script></code>
Nach dem Login kopieren

Jinja2 unterstützt auch erweiterte Konstrukte wie Schleifen und if-Anweisungen, die dazu verwendet werden können Vereinfachen Sie die Generierung komplexer Datenstrukturen.

Darüber hinaus kann der Tojson-Filter verwendet werden, um das Geocode-Tupel in einen JSON-String zu konvertieren, wodurch es besser für die Verwendung in JavaScript geeignet ist:

<code class="html"><script>
var myGeocode = {{ geocode | tojson }};
</script></code>
Nach dem Login kopieren

Mit diesen Techniken können Entwickler Daten nahtlos zwischen Flask und JavaScript austauschen und so interaktive und dynamische Webanwendungen ermöglichen.

Das obige ist der detaillierte Inhalt vonWie übergebe ich mit Jinja2 Daten von Flask an JavaScript in Vorlagen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage