为了账号安全,请及时绑定邮箱和手机立即绑定

请问Flask的request.form和request.data有什么区别?

请问Flask的request.form和request.data有什么区别?

守候你守候我 2019-07-04 12:03:22
Flask的request.form和request.data有什么区别
查看完整描述

4 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

区别如下:

1、用法不同

Request.Form:获取以POST方式提交的数据(接收Form提交来的数据)Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍。

5d295d1c0001f0d505020377.jpg

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方法来提高查询的速度。

查看完整回答
反对 回复 2019-07-13
?
呼啦一阵风

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数据的方法,从而让我们实现更个性、与众不同的功能需求。

查看完整回答
反对 回复 2019-07-13
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

在页面间传值,即值由一个页面传到另一个页面,在另一个页面可以用request()来接收值。在页内传值,即表单值提交给自身页面,在自身页面脚本里面可以用request.form() 来接收值

查看完整回答
反对 回复 2019-07-13
  • 4 回答
  • 0 关注
  • 2975 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信