Flask_學習筆記_03: URL反轉
阿新 • • 發佈:2018-11-05
想理解URL反轉,那就得先知道URL正轉。也就是使用者在瀏覽器位址列中輸入一個URL,然後回車,瀏覽器就可以取到在Flask中定義的route下的檢視函式所返回的內容。簡單的說就是知道URL找檢視函式。
如下面的程式碼:使用者輸入http://127.0.0.1:5000/userinfo/username 回車,就會返回userinfo(name)這個檢視函式定義的return內容。正轉的URL就是/userinfo/<username>
@app.route('/userinfo/<name>') def userinfo(name): return "User name is: %s" %name
反轉URL就是知道檢視函式的名稱,就可以知道URL。要想使用URL反轉功能,先匯入url_for
還是直接上程式碼上圖吧,一目瞭然:
from flask import Flask, url_for app = Flask(__name__) @app.route("/") def hello_flask(): url_reverse01 = url_for('article',id='asdfasdf') url_reverse02 = url_for('userinfo',name='uncleBen') return "Here is the first URL reverse: {}, <br> Here is the second URL reverse: {}".format(url_reverse01, url_reverse02) @app.route('/article/<id>') def article(id): return "Your request parameter is %s" %id @app.route('/userinfo/<name>') def userinfo(name): return "User name is: %s" %name if __name__ == '__main__': app.run(debug=True)
實際效果如下:
小結:
- 使用URL反轉之前,必須先匯入url_for。
- url_for('檢視函式名稱','檢視函式引數,如果有的話')。url_for()這個函式裡面的引數一定要有引號!!!
- URL反轉可以用於:
- 網頁重定向
- 網頁模板中
下篇將介紹網頁之間的跳轉和URL重定向。