4 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
區(qū)別如下:
1、用法不同
Request.Form:獲取以POST方式提交的數(shù)據(jù)(接收Form提交來(lái)的數(shù)據(jù))Request:包含以上兩種方式(優(yōu)先獲取GET方式提交的數(shù)據(jù)),它會(huì)在QueryString、Form、ServerVariable中都搜尋一遍。
2、接收的方法不同
Request.form方法,它是用來(lái)接收表單變量的(post 方法)
Request對(duì)象也可以不指明具體使用QueryString或是form方法,如果包含以上兩種方式(優(yōu)先獲取GET方式提交的數(shù)據(jù)),它會(huì)在 QueryString、Form、ServerVariable中都搜尋一遍。
3、傳遞數(shù)據(jù)量不同
Request.form方法能接收的數(shù)據(jù)沒(méi)有限制。
Reques的對(duì)象為trequest.QueryString時(shí)只能接收數(shù)據(jù)量小于2KB數(shù)據(jù)。
4、執(zhí)行速度不同
Request.form方法的執(zhí)行速度取決于接收數(shù)據(jù)量的大小,如果數(shù)據(jù)較多執(zhí)行速度比較慢。
Reques執(zhí)行速度要比Request.form方法快。一般往數(shù)據(jù)庫(kù)請(qǐng)求查詢時(shí)用 request.QueryString方法來(lái)提高查詢的速度。
參考資料來(lái)源:百度百科——Request對(duì)象

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

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
在頁(yè)面間傳值,即值由一個(gè)頁(yè)面?zhèn)鞯搅硪粋€(gè)頁(yè)面,在另一個(gè)頁(yè)面可以用request()來(lái)接收值。在頁(yè)內(nèi)傳值,即表單值提交給自身頁(yè)面,在自身頁(yè)面腳本里面可以用request.form() 來(lái)接收值
添加回答
舉報(bào)