首頁 > 後端開發 > Python教學 > 如何在 Jinja2 的 `url_for()` 函數中正確引用模板變數?

如何在 Jinja2 的 `url_for()` 函數中正確引用模板變數?

Linda Hamilton
發布: 2024-12-19 16:10:12
原創
387 人瀏覽過

How to Correctly Reference Template Variables within Jinja2's `url_for()` Function?

在Jinja 表達式中引用模板變數

問題

考慮以下Jinja2 模板片段:

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

考慮以下Jinja2 模板片段:

@app.route('/magic/<filename>')
def moremagic(filename):
    pass
登入後複製

但是,模板片段產生的 URL 不正確,因為在 url_for() 函數中未正確引用 {{ filename }} 變數。

要解決此問題,必須刪除 url_for() 函數中額外的一組花括號。這是因為 Jinja2 中的 {{ ... }} 中的所有內容都是類似 Python 的表達式,因此沒有必要使用另一個 {{ ... }} 來引用變數。
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
登入後複製

修正後的程式碼如下:

這裡,name 變數作為參數傳遞給 url_for() 函數,並使用端點名稱 moremagic 而不是 URL路徑。

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

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