flask中獲取request的引數的方法

2021-09-24 02:59:36 字數 3089 閱讀 5242

request請求總體分為兩類:

1.get請求 

訪問時會在位址列直接顯示引數不安全,且引數大小比較小。

2.post請求 

引數不顯示在位址列,一般使用者註冊、登入都通過post請求完成。

flask獲取引數方式:

request.form.get("key", type=str, default=none) 獲取表單資料

request.args.get("key") 獲取get請求引數

request.values.get("key") 獲取所有引數

本文主要介紹以上三種方式,其次也有獲取解析json資料格式,request.get_json(),這裡不進行詳細介紹了。

下面直接開始試驗,以使用者註冊為例:

需要獲取四個引數:使用者手機號、密碼、校驗密碼、手機驗證碼

整體**截圖

分別通過3中方式獲取引數:request.form, request.args,request.values

postform= request.form

getargs= request.args

postvalues= request.values

試驗:

試驗1::get請求:將引數直接拼接在url上,以下均以postman, pycharm除錯窗截圖說明。

postman get 傳送請求配置1

pycharm debuger 視窗變數截圖1

在get請求下,request.form無法獲取引數,其他兩者都可以。

試驗2:通過postman將get請求改為post請求

postman post傳送請求配置2

pycharm debuger 視窗變數截圖2

在post請求下,request.form無法獲取有效引數,其他兩者都可以,當然content-type/form-data 發生改變,當然這裡可也簡單理解為該請求為偽post請求。

試驗3:post請求,在body內建立form-data引數成員

postman post傳送請求配置3

pycharm debuger 視窗變數截圖3

三者全部獲得引數值,最讓人困惑的是postform獲得了mobile等值。此外需要注意的是postvalues中含有全部的引數。

試驗4:post請求,刪除get部分引數

postman post傳送請求配置4

pycharm debuger 視窗變數截圖4

這次的結果倒是符合預期,postform獲得form表單資料,postvalues也能獲取到。

試驗5:補充實驗

postman post傳送請求配置5

pycharm debuger 視窗變數截圖5

綜上,可以得出結論,request.form.get("key", type=str, default=none) 獲取表單資料,request.args.get("key") 獲取get請求引數,request.values.get("key") 獲取所有引數。推薦使用request.values.get().

Flask使用request獲取引數

flask的request是全域性的,而不是區域性的 當我們選需要使用request的時候,我們需要匯入 from flask import flask,render template,request templates def index return render template regist...

Flask 關於Flask的request屬性

在進行flask開發中,前端需要傳送不同的請求及各種帶引數的方式,比如get方法在url後面帶引數和post在body帶引數,有時候又是post的表單提交方式,這個時候就需要從request提取引數。這篇文章是總結如何使用request。在flask的官方文件中是這樣介紹request的 對於 we...

request獲取路徑

從request物件中可以獲取各種路徑資訊,以下例子 假設請求的頁面是index.jsp,專案是webdemo,則在index.jsp中獲取有關request物件的各種路徑資訊如下 string path request.getcontextpath string basepath request....