flask笔记(八):request中参数的使用(待更新)

2019-08-28  本文已影响0人  warmsirius

一、request获取请求参数

request参数,顾名思义就是请求参数,request对象中保存了一次HTTP请求的一切信息。

Django中,request是必须传入视图函数的参数;但是在flask中的视图,不需要传入request参数,那是因为flask采用了request全局变量。

request常用属性如下:

属性 说明 类型
data 记录请求的数据,并转换为字符串 ·
form 记录请求中的表单数据 MultiDict
args 记录请求中的查询参数 MultiDict
cookies 记录请求中的cookie信息 Dict
headers 记录请求中的报文头 EnvironHeaders
method 记录请求使用的HTTP方法 GET/POST
url 记录请求的URL地址 string
files 记录请求上传的文件 ·

1. request.data

当flask遇到不能处理的mimetype时,请求的数据就不能被其它方式正常解析,这些方式包括

注意:request.json需要application/json的mimetype类型。

# 127.0.0.1:5000/index
@app.route("/index", methods=["GET", "POST"])
def index():
    # request中包含了前端发送过来的所有数据
    # form和data,查询请求体数据
    name = request.form.get("name", "zhangsan")
    age = request.form.get('age')

    print(request.data) # 二进制的数据
    print(request.data.decode('utf8')) # 需要解码成utf8
    return "hello name=%s, age=%s" % (name, age, city)

用postman测试,传入表单数据类型时header为application/x-www-form-urlencoded,传入name和age值

输出为

b''         # 二进制的空字符
             # 空行

2. request.form

如果minitype为:

获取的结果使用

等合适方法去除要获取的值进行处理

@app.route("/index", methods=["GET", "POST"])
def index():
   # request中包含了前端发送过来的所有数据
   # 通过request.form可以直接提取请求体中表单格式的数据,是一个类
   name = request.form.get("name", "zhangsan")
   age = request.form.get('age')
   print(request.form)
   return "hello name=%s, age=%s " % (name, age)

输出

ImmutableMultiDict([('name', '林璇'), ('age', '29')])

3. request.args

获取get请求参数

4. request.files

前端提交的文件,需要使用这个属性获取,暂时用的方法

获取到的是一个文件对象。

5. request.url

上一篇 下一篇

猜你喜欢

热点阅读