Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Merujuk Pembolehubah Templat dengan Betul dalam Ungkapan Jinja `url_for()`?

Bagaimana untuk Merujuk Pembolehubah Templat dengan Betul dalam Ungkapan Jinja `url_for()`?

Patricia Arquette
Lepaskan: 2024-12-07 14:09:15
asal
916 orang telah melayarinya

How to Properly Reference Template Variables in Jinja `url_for()` Expressions?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan