flask中request獲取參數的幾種方式


最近用 flask 寫后端,將獲取訪問參數的幾種方式總結整理一下,僅供參考

postman 上來看,調用后端接口傳參的方式有兩種,一種是 params,參數是以?a=x&b=y 的形式顯示在 url 中訪問的。還有一種是 body,參數以請求體的形式訪問后端,不會直接顯示出來。在用這兩種傳參方式訪問后端,后端接收參數的常見的三種方式分別是

r1 = request.form.get('key')
r2 = request.args.get('key')
r3 = request.values.get('key')
當參數以 params 形式傳遞時,后端只能通過 request.args.get('key') 和 request.values.get('key') 來接收參數,通過 request.form.get('key') 是無法接收參數的,如下圖

當參數以 body 中 form-data 或x-www-form-urlendoded形式傳遞時,后端只能通過 request.values.get('key') 和 request.form.get('key') 來接收參數,通過 request.args.get('key') 是無法接收參數的,如下圖

通過以上可知,以 params 形式或 body(form-data、x-www-form-urlendoded)形式傳參,均可以 request.values 獲取參數。
若通過 form-data 上傳文件時,則需通過 request.files.get('key_file') 來獲取文件,如下圖

若以 body 中的 raw(json)形式傳參,則需要通過 get_json() 或 get_data() 方法獲取參數,以 get_data() 獲得的參數需要再次轉成 json,所以推薦直接使用 get_json(),如下圖

PS:request 還有很多其他屬性,可以獲取不同的值,如 headers,cookies,method 等,下圖附上 request 常見屬性

 

更多文章請關注公眾號:python時間到

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM