首先使用這兩個方法的前提是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資料的方法,從而讓我們實現更個性、與眾不同的功能需求。
首先使用這兩個方法的前提是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資料的方法,從而讓我們實現更個性、與眾不同的功能需求。