這篇文章給大家分享的是有關(guān)flask接受不同post請(qǐng)求的方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
公司專(zhuān)注于為企業(yè)提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、商城開(kāi)發(fā),微信小程序開(kāi)發(fā),軟件按需定制開(kāi)發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。
一般來(lái)說(shuō),傳遞請(qǐng)求參數(shù)的方式有兩種,一是打包成 JSON 之后再傳遞,二是直接放進(jìn) URL 進(jìn)行傳遞 。對(duì)于第一種方式,一般用 POST 請(qǐng)求來(lái)傳遞參數(shù),然后用 FLASK 中 request 模塊的 get_json() 方法獲取參數(shù)。而對(duì)于第二種方式,一般用 GET 請(qǐng)求傳遞參數(shù),然后從 request.args 中用 get() 方法獲取參數(shù),不過(guò)需要說(shuō)明的是用 POST 請(qǐng)求也可以通過(guò) URL 的方式傳遞參數(shù),而且獲取參數(shù)的方式與 GET 請(qǐng)求相同。下面用代碼來(lái)說(shuō)明獲取參數(shù)的過(guò)程。
1. 獲取 POST 請(qǐng)求參數(shù)
from flask import request, jsonify @app.route('/', methods = ["POST"]) def post_data(): # 假設(shè)有如下 JSON 數(shù)據(jù) #{"obj": [{"name":"John","age":"20"}] } # 方法一 data = request.get_json() # 獲取 JSON 數(shù)據(jù) data = pd.DataFrame(data["obj"]) # 獲取參數(shù)并轉(zhuǎn)變?yōu)?nbsp;DataFrame 結(jié)構(gòu) # 方法二 # data = request.json # 獲取 JOSN 數(shù)據(jù) # data = data.get('obj') # 以字典形式獲取參數(shù) # 經(jīng)過(guò)處理之后得到要傳回的數(shù)據(jù) res = some_function(data) # 將 DataFrame 數(shù)據(jù)再次打包為 JSON 并傳回 # 方法一 res = '{{"obj": {} }}'.format(res.to_json(orient = "records", force_ascii = False)) # 方法二 # res = jsonify({"obj":res.to_json(orient = "records", force_ascii = False)}) return res
2. 獲取 GET 請(qǐng)求參數(shù)
@app.route('/', methods = ["GET","POST"]) # GET 和 POST 都可以 def get_data(): # 假設(shè)有如下 URL # http://10.8.54.48:5000/index?name=john&age=20 #可以通過(guò) request 的 args 屬性來(lái)獲取參數(shù) name = request.args.get("name") age = request.args.get("startDate") # 經(jīng)過(guò)處理之后得到要傳回的數(shù)據(jù) res= some_function(name, age) # 將數(shù)據(jù)再次打包為 JSON 并傳回 resp = '{{"obj": {} }}'.format(res.to_json(orient = "records", force_ascii = False)) return resp
感謝各位的閱讀!關(guān)于flask接受不同post請(qǐng)求的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!