Pertimbangkan coretan templat Jinja2 berikut:
<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>
Kod ini cuba menjana URL ke laluan yang ditentukan sebagai:
@app.route('/magic/<filename>') def moremagic(filename): pass
Walau bagaimanapun, URL yang dijana oleh coretan templat adalah tidak betul kerana pembolehubah {{ nama fail }} tidak dirujuk dengan betul dalam fungsi url_for().
Untuk menyelesaikan isu ini, set tambahan pendakap kerinting dalam fungsi url_for() mesti dialih keluar. Ini kerana segala-galanya dalam {{ ... }} dalam Jinja2 ialah ungkapan seperti Python, dan oleh itu, ia tidak perlu menggunakan {{ ... }} lain untuk merujuk pembolehubah.
The kod yang diperbetulkan adalah seperti berikut:
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
Di sini, pembolehubah nama dihantar sebagai hujah kepada fungsi url_for() dan nama titik akhir moremagic digunakan bukannya URL laluan.
Atas ialah kandungan terperinci Bagaimana untuk Merujuk Pembolehubah Templat dengan Betul dalam Fungsi `url_for()` Jinja2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!