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() 来接收值
添加回答
举报