Flask 之路由系統

2022-03-16 12:22:42 字數 2676 閱讀 7387

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入門之 路由

測試flask的路由,新增路由的方式有兩種 1 方法前面加 測試了這個方法 瀏覽器中的位址為 或者 hello 才正常 hello 報錯還沒查到原因,查到以後再更新 測試 如下 from flask import flask 路由固定 def hello world return hello wor...

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 路由系統

flask中的路由系統其實我們並不陌生了,從一開始到現在都一直在應用 為什麼要這麼用?其中的工作原理我們知道多少?methods 當前 url 位址,允許訪問的請求方式 info methods get post defstudent info stu id int request.args id ...