Heim > Artikel > Backend-Entwicklung > Wie kann ich innerhalb einer HTML-Vorlage bestimmte Daten aus einem Flask-Wörterbuch an JavaScript übergeben?
Übergabe von Daten aus Flask an JavaScript in Vorlagen
Ihre Anwendung verwendet eine API, um Daten abzurufen, die in einem Wörterbuch gespeichert sind. Ihr Ziel besteht darin, bestimmte Informationen, nämlich die Längen- und Breitengradkoordinaten, aus diesem Wörterbuch an JavaScript innerhalb der Ansicht zu übergeben. Um zu verstehen, wie dies erreicht werden kann, ist es wichtig, den Prozess der Übergabe von Variablen an Vorlagen durch Flask zu verstehen.
Flask verwendet die Funktion render_template, um Variablen an eine Vorlage zu senden, die in einem Browser gerendert wird. Mit der Jinja2-Vorlagen-Engine können diese Variablen aufgerufen und im HTML-Markup angezeigt werden.
Um die Variable für JavaScript verfügbar zu machen, können Sie die Fähigkeit von Jinja2 nutzen, Python-Ausdrücke direkt in Ihre Vorlagen einzubetten. Schließen Sie den Variablennamen einfach in doppelte geschweifte Klammern ein ({{ variable_name }}). Sie können den Geocode beispielsweise mit dem folgenden Code-Snippet an JavaScript übergeben:
<code class="html"><script> var myGeocode = '{{ geocode[1] }}'; </script></code>
Dieses Code-Snippet weist den Wert von Geocode[1] der JavaScript-Variablen myGeocode zu. Beachten Sie, dass Sie mit dieser Syntax auf jede an die Vorlage übergebene Variable zugreifen können, unabhängig von ihrer Position im HTML-Dokument.
Für komplexere Datenstrukturen wie Listen können Sie die Funktion „join()“ verwenden, um ein Komma zu bilden -getrennte Zeichenfolge und übergeben Sie sie als Array an JavaScript. Hier ist ein Beispiel:
<code class="html"><script> var myGeocode = [{{ ', '.join(geocode) }}]; </script></code>
Das obige ist der detaillierte Inhalt vonWie kann ich innerhalb einer HTML-Vorlage bestimmte Daten aus einem Flask-Wörterbuch an JavaScript übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!