Heim >Backend-Entwicklung >Python-Tutorial >Wie referenziere ich Vorlagenvariablen innerhalb der Funktion „url_for()' von Jinja2 korrekt?
Betrachten Sie den folgenden Jinja2-Vorlagenausschnitt:
<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>
Dieser Code versucht, eine URL zu einer definierten Route zu generieren als:
@app.route('/magic/<filename>') def moremagic(filename): pass
Die vom Vorlagen-Snippet generierte URL ist jedoch falsch, da die Variable {{ filename }} in der Funktion url_for() nicht ordnungsgemäß referenziert wird.
Um dieses Problem zu beheben, muss der zusätzliche Satz geschweifter Klammern in der Funktion url_for() entfernt werden. Dies liegt daran, dass alles innerhalb von {{ ... }} in Jinja2 ein Python-ähnlicher Ausdruck ist und es daher nicht erforderlich ist, ein anderes {{ ... }} zum Referenzieren von Variablen zu verwenden.
Der Der korrigierte Code lautet wie folgt:
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
Hier wird die Namensvariable als Argument an die Funktion url_for() übergeben und der Endpunktname moremagic anstelle der URL verwendet Pfad.
Das obige ist der detaillierte Inhalt vonWie referenziere ich Vorlagenvariablen innerhalb der Funktion „url_for()' von Jinja2 korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!