1. 程式人生 > >Flask_學習筆記_03: URL反轉

Flask_學習筆記_03: URL反轉

想理解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)

實際效果如下:
Flask_學習筆記_03: URL反轉

小結:

  1. 使用URL反轉之前,必須先匯入url_for。
  2. url_for('檢視函式名稱','檢視函式引數,如果有的話')。url_for()這個函式裡面的引數一定要有引號!!!
  3. URL反轉可以用於:
    • 網頁重定向
    • 網頁模板中

下篇將介紹網頁之間的跳轉和URL重定向。