4 回答

TA貢獻1797條經驗 獲得超6個贊
區別如下:
1、用法不同
Request.Form:獲取以POST方式提交的數據(接收Form提交來的數據)Request:包含以上兩種方式(優先獲取GET方式提交的數據),它會在QueryString、Form、ServerVariable中都搜尋一遍。
2、接收的方法不同
Request.form方法,它是用來接收表單變量的(post 方法)
Request對象也可以不指明具體使用QueryString或是form方法,如果包含以上兩種方式(優先獲取GET方式提交的數據),它會在 QueryString、Form、ServerVariable中都搜尋一遍。
3、傳遞數據量不同
Request.form方法能接收的數據沒有限制。
Reques的對象為trequest.QueryString時只能接收數據量小于2KB數據。
4、執行速度不同
Request.form方法的執行速度取決于接收數據量的大小,如果數據較多執行速度比較慢。
Reques執行速度要比Request.form方法快。一般往數據庫請求查詢時用 request.QueryString方法來提高查詢的速度。

TA貢獻1802條經驗 獲得超6個贊
首先使用這兩個方法的前提是post或者put請求
兩者的區別在于處理不同mimetype類型的數據,返回值也不同。
當
minitype為application/x-www-form-urlencoded或者multipart/form-data的時候,也就是我們
所謂表單提交,訪問request.form會返回一個包含解析過的的表單對象的 MultiDict,而request.data是空的。
當
flask遇到不能處理的mimetype時,請求的數據就不能被其它方式正常解析,這些方式包括request.form、request.json和
request.files這幾個常用的用來訪問數據的屬性。這時就把數據作為字符串存在request.data中。
這里注意一下request.json需要application/json的mimetype類型。
知道了這些處理數據的過程,那我們就可以對提交的數據進行擴展,定義一些自己專用的mimetype類型,并在Request類中定義處理專用mimetype數據的方法,從而讓我們實現更個性、與眾不同的功能需求。

TA貢獻1793條經驗 獲得超6個贊
在頁面間傳值,即值由一個頁面傳到另一個頁面,在另一個頁面可以用request()來接收值。在頁內傳值,即表單值提交給自身頁面,在自身頁面腳本里面可以用request.form() 來接收值
添加回答
舉報