Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Merujuk Pembolehubah Templat dengan Betul dalam Ungkapan Jinja `url_for()`?
Merujuk Pembolehubah Templat dalam Ungkapan Jinja: Penyelesaian
Artikel ini menangani isu biasa yang dihadapi apabila cuba membenamkan pembolehubah templat dalam ungkapan Jinja untuk Penjanaan URL menggunakan url_for().
The Masalah:
Templat Jinja2 membenarkan penggunaan ungkapan yang disertakan dalam pendakap kerinting berganda ({{ ... }}). Walau bagaimanapun, apabila cuba memasukkan pembolehubah templat dalam fungsi url_for(), pengguna mungkin menghadapi ralat sintaks jika mereka menyusun pendakap kerinting tambahan:
<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>
Penyelesaian:
Kunci untuk menyelesaikan isu ini adalah dengan membuang pendakap kerinting bersarang yang tidak diperlukan. Ungkapan Jinja sudah dianggap seperti Python, jadi tidak perlu kurungan lanjut melampirkan pembolehubah templat.
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
Dalam kod terlaras ini, filename=name memberikan nilai pembolehubah templat nama kepada nama fail parameter laluan moremagic.
Nota Tambahan:
Ia penting untuk ambil perhatian bahawa url_for() memerlukan nama titik akhir, bukan laluan URL itu sendiri. Dalam contoh yang diberikan, nama titik akhir adalah moremagic, yang lalai kepada nama fungsi jika tidak ditakrifkan dengan jelas.
Atas ialah kandungan terperinci Bagaimana untuk Merujuk Pembolehubah Templat dengan Betul dalam Ungkapan Jinja `url_for()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!