路由
裝飾器 @app.route()
告訴 Flask
哪個 URL
才能觸發我們的函式。這也就是路由.
之後 ,定義一個函式,該函式名也是用來給特定函式生成 URLs,並且返回我們想要顯示在使用者瀏覽器上的資訊。
from flask import Flask,request,url_for
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/user', methods=['GET'])
def hello_user():
return 'hello user'
路由的本質
路由的本質,是URL
繫結, @app.route()
裝飾器用於把一個函式綁於一個URL
上,如上,/
繫結了hello_world()
函式,/user
繫結了hello_user()
函式
路由變數規則
給 URL 增加變數的部分,把一些特定的欄位標記成 。這些特定的欄位將作為引數傳入到你的函式中。當然也可以指定一個可選的轉換器通過規則 。
@app.route('/users/<id>',methods=['GET'])
def user_id(id):
'''
請求地址為http://127.0.0.1:5000/users/123
http://127.0.0.1:5000/users/weixuan
'''
return 'hello user:' id
引數形式的url
@app.route('/query_user')
def query_user():
'''
http://127.0.0.1:5000/query_user?id=123
'''
id = request.args.get('id')
return 'query user:' id
反向路由
本質是根據函式名反向生成url,使用函式 url_for()
來針對一個特定的函式構建一個 URL。它能夠接受函式名作為第一引數,以及一些關鍵字引數, 每一個關鍵字引數對應於 URL 規則的變數部分。未知變數部分被插入到 URL 中作為查詢引數。
# -*- coding: utf-8 -*-
from flask import Flask,request,url_for
@app.route('/test')
def query_user():
'''
http://127.0.0.1:5000/test?id=123
'''
id = request.args.get('id')
return 'query user:' id
@app.route('/query_url')
def query_url():
'''
反匯出 query_user函式名對應的url地址
'''
return 'query url:' url_for('query_user')
請求地址http://127.0.0.1:5000/query_url
,之後,列印的是
query url:/test
写评论
很抱歉,必須登入網站才能發佈留言。