史上超詳細的Flask引數以及響應講解

2021-09-06 21:36:39 字數 2253 閱讀 6068

目錄

flask中引數的使用

請求方法

request

函式返回內容

response物件

字串返回json

def hello_world3(username, age=20):

return username + ''

以上代表的是路徑引數。

flask中的引數:

1)都是關鍵字引數 

2)預設標識是<>

3)username需要和對應的檢視函式的引數名字保持一致。

4)引數允許有預設值:

如果有預設值,那麼在路由中,不傳輸引數也是可以的。

如果沒有預設值,引數在路由中必修傳遞。

5)引數預設型別是string,如果想修改為其它型別,如下

《引數型別:username>

# 設定username為int型別

引數語法

def use_path(name):

return str(name)

userpath後面的路徑隨便寫,如

def get_uuid():

# d01d1bd6-cb22-4d64-89d5-830928ba5842

return str(uuid.uuid4())

def use_uuid(name):

print(name)

return '獲取到了uuid'

假如get_uuid生成的uuid為d01d1bd6-cb22-4d64-89d5-830928ba5842,那麼呼叫use_uuid的樣式如下:

def useany(an):

return str(an)

使用any只能使用指定的引數,如上面只能用a,b,c,這三個引數。 

常用的有5中,請求方式預設是get,可以在路由中設定,如下

methods=['get', 'post','delete'.'put','head']
伺服器在接收到客戶端的請求後,會自動建立request物件;

request物件由flask框架建立,request物件不可修改。request物件是**物件

下面羅列部分request的屬性:

上面兩種獲取get請求引數的區別: 第乙個不傳name會報錯,

這個會報錯

?name=zhangsan   這個不會報錯

而第二種不穿name不會報錯,會返回none

request.files:immutablemultidict([('image', )])   image是key,timg.jpg是值。

可以製作乙個響應進行返回make_response(str(data2)),也可以直接建立response進行返回。

製作乙個響應

result = make_response(str(data2))
make_response中的引數有3個

make_response(data,status,headers)
data:需要製作響應的資料。

status:響應的狀態碼。平時我們請求介面的時候,如果成功狀態碼是200,flask中這個狀態碼可以修改,在反爬蟲中湧出很大。如我將資料成功返回,而狀態碼是401,那麼其他人爬蟲的時候就不會爬這些資料。

headers:請求頭。

除了製作乙個響應,還可以直接使用response物件:

jsondata = json.dumps()
返回的如果是字串會包裝成response物件

json.jsonify有兩種寫法:

第一種直接返回json物件。

jsondata = json.jsonify()
第二種以key=value的形式返回:

jsondata = json.jsonify(status=1, msg='請求成功')
以上兩種返回的結果都是一樣的資料:

json.dumps將資料格式化為json格式,沒有設定返回型別,預設的型別為content-type →text/html; charset=utf-8

jsondata = json.dumps()

flask路由route引數以及子網域名稱

coding utf 8 route 和 add url rule route下邊的裝飾器 實際上是調了add url rule route method 請求方法 endpoint 別名 和url for 配合使用 defaults 如果url沒有引數 則可以使用這個作為預設值使用 redirec...

c 的過載,預設引數,以及命名空間

c 是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c 擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c 就適應的問題規模而論,大小由之。關於c 的幾個小方面的想法 c 支援函式...

python中函式的引數以及命名空間

函式引數的概念 函式引數的兩大分類 形參 和 實參 形參 在函式定義中從左向右寫入的變數名就叫做形式引數,簡稱 形參 下圖中的a 和 b 就是形參 實參 在函式呼叫階段從左往右依次寫入的變數值就叫實際引數,簡稱 實參 下圖中的 1 和 2 就是實參 形參和實參相當於 變數名 和 變數值。變數名 與 ...