考慮以下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中文網其他相關文章!