Flask註冊路由 二

2022-09-22 19:00:49 字數 2104 閱讀 2205

在第一節中,啟動flask的程式後,在瀏覽器中訪問http:localhost//5000/就會顯示hello world,

也就是說,在web的應用程式裡,客戶端和伺服器上的flask程式互動簡單的來說可以總結為:

1、使用者在瀏覽器輸入請求地址

2、flask程式接收使用者請求的地址並且對請求的地址進行解析

3、依據請求的地址url找到對應的檢視函式,檢視函式進行處理

4、檢視函式接收到處理請求後,生成響應,返回給客戶端,也就是瀏覽器

5、瀏覽器接收到響應後對資訊進行解析,將資訊展示顯示在頁面中

就與檢視函式之間建立起了關聯。編寫檢視函式hello,它的原始碼為:

from flask import

flask)'

config.py

',silent=true)'/

')defhello_world():

return

'hello world!''

/index')

defindex():

return

'hello 無涯'if

__name__ == '

__main__

':

訪問這個url的時候就會觸發index()的函式。執行檢視函式後,檢視函式返回的值將作為響應的主體,

也就是說把返回的響應的主體展示在瀏覽器視窗的html的頁面。

在實際的工作中,檢視函式的路由不會如上面的那麼簡單,在檢視函式中都是有引數的,如要實現

列印“您好,無涯”,把無涯當作一個引數,那麼需要在檢視函式中增加一個name的引數,這個引數隨

著呼叫的時候,輸入不同的值顯示不同的結果,那麼要實現這樣的效果,它的原始碼為:

from flask import

flask)'

config.py

',silent=true)'/

')defhello_world():

return

'hello world!''

/index/')

defindex(name):

return

'hello

'.format(name)

if__name__ == '

__main__

':

如果在路由中需要指定請求的引數它的資料型別,如int型別,那麼就需要在註冊路由的時候指定請求

引數的型別,修改後的檢視函式為:

/index/')

defindex(articleid):

return

'文章id:

'.format(articleid)

在get的請求中,經常基於業務的需要,需要通過引數來當傳遞請求引數的過程,如寫一個搜尋的

案例**,它的檢視函式原始碼為:

from flask import

flask,request)'

config.py

',silent=true)

'/s/')

defso():

wd=request.args.get('wd'

)

return

'通過查詢搜尋的關鍵字為:

'.format(wd)

if__name__ == '

__main__

':

在如上的原始碼中可以看到,首先需要匯入request,然後在檢視函式中,在get的請求中獲取查詢的關鍵字,

然後把查詢的關鍵字列印出來。

還有另外一種場景是返回多個url的地址,依據不同的url顯示不同的資訊,如輸入部落格的地址返回

部落格的資訊,依據使用者的資訊返回使用者的資訊。增加新的檢視函式,它的原始碼為:

///'

)def

login(url_path,uid):

if url_path=='

blog':

return

'部落格的首頁詳細資訊為:

'.format(uid)

elif url_path=='

user':

return

'無涯課堂首頁詳細資訊為:

'.format(uid)

flask路由

動態路由傳參 def student list student id return f 學生號的資訊 動態路由的過濾 我們可以對上面的引數s...

Flask 路由

route 裝飾器把一個函式繫結到對應的url 可以是多個 上 def index return index page hello def...

flask 路由規劃(blueprint)

統一路由藍芽規劃 file blueprint route py from flask import blueprint route tes...