1. 程式人生 > >Flask_學習筆記_02: URL和視圖

Flask_學習筆記_02: URL和視圖

通過 輸入 從數據 -o easy 技術分享 welcome 參數 直接

今天來學習Flask中URL和視圖的相關知識。

URL不多說了,訪問網站,瀏覽器中的地址大家都可以看到,比如我的51CTO的blog網址是:http://blog.51cto.com/jiaszwx

如果你在地址欄裏敲:http://blog.51cto.com/ 那麽瀏覽器返回的是51CTO博客的主頁。
如果你在地址欄裏敲:http://blog.51cto.com/jiaszwx 那麽瀏覽器返回的是我的51CTO博客主頁。
一個網站地址有共同的前綴,但是有很多的子網頁,不同的子網頁就是通過URL裏的參數來表示的,例如上面的例子。重點來了,在Flask當中,如何來表示URL的參數呢?記住,一定要用尖括號括起來。例如:<id>,<name>,<location>.......,那麽放到哪裏呢?放到路由的括號裏。 要像這樣:@app.route(‘/article/<id>

‘)
這個是重點!!!!!
URL中的參數一定要用尖括號括起來!
URL中的參數一定要用尖括號括起來!
URL中的參數一定要用尖括號括起來!
重要的事情說三遍。。。

OK!現在參數定義好了,那如何跟視圖函數對應起來呢?直接作為視圖函數的參數傳給它就好了,如下:

@app.route(‘/article/<id>‘) #URL的參數表示方法
def article(id): #在視圖函數中直接引用URL中的參數即可得到參數的值
    return "Your request parameter is %s" %id

來看一個實際例子,完整代碼如下:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_flask():
    return "Hello World! This is my first Flask! Welcome to Flask! Flask is Fun and Easy to setup!"

@app.route(‘/article/<id>‘) #URL的參數表示方法
def article(id): #在視圖函數中直接引用URL中的參數即可得到參數的值
    return "Your request parameter is %s" %id

if __name__ == ‘__main__‘:
    app.run(debug=True)

實際效果見下圖:
在地址欄中輸入:http://127.0.0.1:5000/ 會顯示下面的頁面:
技術分享圖片

在地址欄中輸入帶參數的URL:http://127.0.0.1:5000/article/asdf111223 則會顯示下面的頁面:
技術分享圖片

/article/ 後面的參數是任意的,現在是手動輸入,但是現實中都是從數據庫中直接取出來的,現在只要了解如何來定義URL參數就可以了,後面數據從哪裏來,還是你說了算。

繼續再跟個例子,加深一下印象。這次加一個名字參數,代碼如下:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_flask():
    return "Hello World! This is my first Flask! Welcome to Flask! Flask is Fun and Easy to setup!"

@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_學習筆記_02: URL和視圖