理解 flask中request中form、data、json、values属性的区别

flask的request对象中关于请求参数的获取有几个不同的属性,例如 args、form、data、json。估计大部分人一开始也分不清什么情况下哪个属性有值,哪个属性没值,这篇文章全面整理了这几个属性之间的区别和使用场景。

flask.request对象其实是对HTTP请求的一种封装,我们知道HTTP 请求由请求行、请求头、请求体三部分组成

image-20220806100926271

  • 请求行指定了请求方法,请求路径以及HTTP版本号

  • 请求头是浏览器向服务器发送请求的补充说明,比如content-type 告诉服务器这次请求发送的数据类型是什么

  • 请求体是浏览器向服务器提交的数据,请求头与请求体之间用空行隔开。一般在POST或者PUT方法中带有请求体数据

而flask中request对象中的form、data、json这三个属性其实是flask根据不同的content-type类型将HTTP请求体进行转换而来的数据,这几个属性的类型一般都是字典或者是字典的子类。

先简单介绍下args

args

args属性是请求路径中的查询参数,例如:/hello?name=zs, args 解析出来的数据是一个类似字典的对象,它的值是:

猜你喜欢

转载自blog.csdn.net/qq_25439417/article/details/131491845