Ich benutze Python Flask für meine Website und übergebe verschiedene Parameter an Javascript. Das ist mein Code:
%Vor%Auf diese Weise funktioniert es problemlos. Das Beispiel ist ein eigenes Beispiel. Aber wenn ich das Skript in einer externen Datei haben will und es so nennen:
%Vor% Und die Datei myjs.js
ist console.log({{param1}})
, dann funktioniert es nicht. Gibt es also eine Möglichkeit, Parameter in externen Javascript-Dateien mit Python Flask zu übergeben?
Wenn Sie eine Datei mit Jinja rendern möchten, müssen Sie render_template
aufrufen und die gewünschten Werte übergeben. Nur das direkte Verknüpfen mit einer statischen Datei macht das offensichtlich nicht. Eine Lösung besteht darin, Jinjas include
-Block zu verwenden. Dies setzt voraus, dass sich "myjs.js" im Ordner "templates / js" befindet und es in die gerenderte Vorlage aufnimmt, wobei der gesamte Vorlagenkontext an die enthaltene Vorlage übergeben wird.
Bei der besseren Lösung müssen Sie die js nicht bei jeder Anfrage rendern und stattdessen Parameter aus Ihrer Vorlage an js-Funktionen übergeben.
%Vor%Ich habe einen anderen Weg benutzt, um eine Javascript-Datei zu laden, die in der HTML-Seite angegeben ist:
Zuerst definiere ich einige Variablen in <head></head>
-Tags, und so rufe ich meine Javascript-Datei auf:
...
Dies ist mein Javascript-Dateiinhalt: $ (Dokument) .ready (Funktion () {
%Vor%Dieser Ansatz funktioniert für mich.
Tags und Links python javascript flask