1. 程式人生 > >Flask的路由和檢視函式(簡談)

Flask的路由和檢視函式(簡談)

概念:

路由:客戶端把請求傳送給Web伺服器,Web伺服器再把請求傳送給程式例項。程式例項需要知道對每個URL請求執行哪些程式碼,所以儲存了一個 URL 到 Python 函式的對映關係。處理URL和函式之間關係的程式稱路由

在Flask定義路由的最簡便方式,是使用程式例項提供的app。route修飾器,把修飾的函式註冊為路由:

如:

from flask import Flask

    app = Flask(__name__)

    @app.route('/')
    def index():
        return 'hello world'

    @app.route('/user', methods=['GET'])


    def hello_user():
        return 'hello user'

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

路由的本質

路由的本質,是URL 繫結, @app.route() 裝飾器用於把一個函式綁於一個URL上,如上,/綁定了index()函式,/user綁定了hello_user()函式,這個例子將 index() 函式註冊為程式根 '/' 地址。訪問 http://localhost:5000/ 後,會觸發伺服器執行 index() 函式,這個函式的返回值稱為響應,是客戶端接收到的內容。

像 index() 這樣的函式稱為檢視函式。檢視函式返回的響應可以是包含 HTML 的簡單字串,也可以是複雜的表單

路由查詢方式

同一路由指向兩個不同的函式,在匹配過程中,至上而下依次匹配

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return '<h1>hello world</h1>'


@app.route('/')
def hello_2017():

    return '<h1>hello 2017</h1>'

所以上面路由 / 輸出的結果為 hello 函式的結果