3.4、链接
任何具有多個路由的程序都需要可以連接不同頁面的鏈接,例如導航條。
在模板中直接編寫簡單路由的 URL 鏈接不難,但對于包含可變部分的動態路由,在模板中構建正確的 URL 就很困難。而且,直接編寫 URL 會對代碼中定義的路由產生不必要的依賴關系。如果重新定義路由,模板中的鏈接可能會失效。
為了避免這些問題,Flask 提供了 url_for() 輔助函數,它可以使用程序 URL 映射中保存的信息生成 URL。
url_for() 函數最簡單的用法是以視圖函數名(或者 app.add_url_route() 定義路由時使用的端點名)作為參數,返回對應的 URL。例如,在當前版本的 hello.py 程序中調用 url_for('index') 得到的結果是 /。調用 url_for('index', _external=True) 返回的則是絕對地址,在這個示例中是 http://localhost:5000/。
?
?
注:生成連接程序內不同路由的鏈接時,使用相對地址就足夠了。如果要生成在瀏覽器之外使用的鏈接,則必須使用絕對地址。
使用 url_for() 生成動態地址時,將動態部分作為關鍵字參數傳入。例如,url_for ('user', name='john', _external=True) 的返回結果是 http://localhost:5000/user/john
?
?
傳入 url_for() 的關鍵字參數不僅限于動態路由中的參數。函數能將任何額外參數添加到查詢字符串中。例如,url_for('index', page=2) 的返回結果是 /?page=2。
?
?
轉載于:https://www.cnblogs.com/sanduzxcvbnm/p/6649510.html
總結
- 上一篇: AngularJS学习篇(十)
- 下一篇: 【HDU4734】F(x) 数位DP