首頁 > 後端開發 > Python教學 > 如何在 Jinja `url_for()` 表達式中正確引用模板變數?

如何在 Jinja `url_for()` 表達式中正確引用模板變數?

Patricia Arquette
發布: 2024-12-07 14:09:15
原創
917 人瀏覽過

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

在Jinja 表達式中引用模板變數:解決方案

本文解決了嘗試在Jinja 表達式中嵌入模板變數時遇到的常見問題使用url_for() 產生URL。

問題:

Jinja2 範本允許使用雙花括號 ({{ ... }}) 括起來的表達式。但是,當嘗試在url_for() 函數中包含模板變數時,如果使用者嵌套了額外的大括號,則可能會遇到語法錯誤:

<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>
登入後複製

解決方案:

解決這個問題的關鍵是去掉不必要的巢狀花括號。 Jinja 表達式已經被認為是類似 Python 的,因此不需要進一步用括號括住模板變數。

<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
登入後複製

在此調整後的程式碼中,filename=name 將 name 範本變數的值指派給檔案名稱moremagic 路由的參數。

補充說明:

它是值得注意的是,url_for() 需要端點名稱,而不是 URL 路徑本身。在提供的範例中,端點名稱為 moremagic,如果未明確定義,則預設為函數名稱。

以上是如何在 Jinja `url_for()` 表達式中正確引用模板變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板