Flask 路由系統

2021-09-29 05:34:56 字數 2682 閱讀 3352

flask中的路由系統其實我們並不陌生了,從一開始到現在都一直在應用

為什麼要這麼用?其中的工作原理我們知道多少?

methods : 當前 url 位址,允許訪問的請求方式

/info

", methods=["

get", "

post"])

defstudent_info():

stu_id = int(request.args["id"

])

return f"

hello old boy "#

python3.6的新特性 f""

endpoint : 反向url位址,預設為檢視函式名 (url_for)

from flask import

url_for

"/info

", methods=["

get", "

post

"], endpoint="

r_info")

defstudent_info():

print(url_for("

r_info

")) #

/info

stu_id = int(request.args["id"

])

return f"

hello old boy "#

python3.6的新特性 f""

defaults : 檢視函式的引數預設值

from flask import

url_for

"/info

", methods=["

get", "

post

"], endpoint="

r_info

", defaults=)

defstudent_info(nid):

print(url_for("

r_info

")) #

/info

#stu_id = int(request.args["id"])

print(nid) #

100return f"

hello old boy "#

python3.6的新特性 f""

strict_slashes : url位址結尾符"/"的控制 false : 無論結尾 "/" 是否存在均可以訪問 , true : 結尾必須不能是 "/"

#

訪問位址 : /info

/info

", strict_slashes=true)

defstudent_info():

return

"hello old boy info"#

訪問位址 : /infos or /infos/

/infos

", strict_slashes=false)

defstudent_infos():

return

"hello old boy infos

"

redirect_to : url位址重定向

#

訪問位址 : /info 瀏覽器跳轉至 /infos

/info

", strict_slashes=true, redirect_to="

/infos")

defstudent_info():

return

"hello old boy info""

/infos

", strict_slashes=false)

defstudent_infos():

return

"hello old boy infos

"

server_name

"] = "

oldboy.com""

/info

",subdomain="

dragonfire")

defstudent_info():

return

"hello old boy info"#

訪問位址為: dragonfire.oldboy.com/info

關於路由目前就說這麼多,之後的課程中會有關於flask路由系統的原始碼剖析,再詳細說明flask路由系統的工作原理

2.動態引數路由:

from flask import

url_for

#訪問位址 :

/info/

", methods=["

get", "

post

"], endpoint="

r_info")

defstudent_info(nid):

print(url_for("

r_info

",nid=2)) #

/info/2

return f"

hello old boy "#

python3.6的新特性 f""

就是在url後定義乙個引數接收

但是這種動態引數路由,在url_for的時候,一定要將動態引數名+引數值新增進去,否則會丟擲引數錯誤的異常

3.路由正則:

一般不用,如果有特殊需求,不怕麻煩的話,這個東西還是挺好用的,前提是你的正則玩兒的很6

Flask 路由系統

反向生成url def index print index print url for n1 return index 動態路由 def index nid print url for index nid 777 print url for index nid nid 根據輸入的nid,反向生成ur...

Flask 路由系統

from flask import flask,render template login methods get post defstudent info return hello wwrd 預設不寫methods引數只支援get請求,methods引數是我們重寫裡面的方法,並不是追加 相當於給 ...

Flask 路由系統

目錄動態引數路由 最簡單用法 下面介紹但是還有其他引數和用法 def student info stu id int request.args id return f hello old boy python3.6的新特性 f from flask import url for def studen...