python
flask
redirect
在作業流程中,可能使用者執行了某一個動作之後我們需要將使用者引導到另一個頁面,這種重新導向的動作在flask中可以利用內建函數redirect
來達成。
延續Flask實作_基礎_08_form action url_for的案例,普遍來說,在使用者按下登入頁面之後會驗證帳號密碼,驗證失敗就顯示登入失敗訊息,驗證成功則引導使用者到另一個頁面去。
範例上我們只是要瞭解redirect
的作用,所以不需要很複雜的調整,我們只需要小調一下Python文件跟新增一個html文件
先調整Python文件如下:
第7行:判斷request.method
是否來自POST
第8行:利用redirect(url_for('function'))
重新導向,將使用者導到@app.route('/hello/<username>')
,並且傳遞參數username
(註1)。
接著加入新的HTML文件如下:
第8行:設置參數username
執行專案,連結相對應的路由網址,結果如下:
在按下Submit
之後,透過redirect
將使用者重新導向到url_for('hello')
,並順便傳遞參數username
給hello.html
模板中的{{ username }}
。
註1:這邊用了另一種方式來取得username
,request.form.get('Your Parameter')
應用redirect
配合url_for
的作法在flask中是非常常見的作法,這次我們除了將兩者結合使用之外還搭配參數username
的傳遞,幾個案例操作下來,應該對flask有更深的瞭解,接下來我們要認識flask中的flash
,這是一個訊息發送的功能,也是實用性很高的一個function。
上一話:Flask實作_基礎_08_form action url_for
下一話:Flask實作_基礎_10_flash message