Referenzieren von Vorlagenvariablen in Jinja-Ausdrücken: Eine Lösung
Dieser Artikel befasst sich mit einem häufigen Problem, das beim Versuch auftritt, Vorlagenvariablen in Jinja-Ausdrücke einzubetten URL-Generierung mit url_for().
Die Problem:
Jinja2-Vorlagen ermöglichen die Verwendung von Ausdrücken in doppelten geschweiften Klammern ({{ ... }}). Wenn Benutzer jedoch versuchen, eine Vorlagenvariable in die Funktion url_for() einzuschließen, können Syntaxfehler auftreten, wenn sie zusätzliche geschweifte Klammern verschachteln:
<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>
Die Lösung:
Der Schlüssel zur Lösung dieses Problems besteht darin, die unnötigen geschachtelten geschweiften Klammern zu entfernen. Jinja-Ausdrücke gelten bereits als Python-ähnlich, sodass keine weiteren Klammern erforderlich sind, die die Vorlagenvariable einschließen.
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
In diesem angepassten Code weist filename=name dem Dateinamen den Wert der Namensvorlagenvariablen zu Parameter der Moremagic-Route.
Zusätzlicher Hinweis:
Es ist entscheidend für Beachten Sie, dass url_for() einen Endpunktnamen erfordert, nicht den URL-Pfad selbst. Im bereitgestellten Beispiel lautet der Endpunktname moremagic, der standardmäßig der Funktionsname ist, wenn er nicht explizit definiert ist.
Das obige ist der detaillierte Inhalt vonWie referenziere ich Vorlagenvariablen in Jinja-„url_for()'-Ausdrücken richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!