Flask请求/响应/错误处理
1. 请求request
服务端在接收到客户端的请求后,会自动创建Request对象
由Flask框架创建,Requesy对象不可修改
属性:
1 | url:完整的请求地址 |
1.1 args–>GET请求参数包装
a)args是get请求参数的包装,args是一个ImmutableMultiDict对象,类字典结构对象
b)数据存储也是key-value
1.2 form–>POST请求参数包装
a)form是post请求参数的包装,args是一个ImmutableMultiDict对象,类字典结构对象
b)数据存储也是key-value
重点:ImmutableMultiDict是类似字典的数据结构,但是与字典的区别是,可以存在相同的键。在ImmutableMultiDict中获取数据的方式,dict[‘key’]或者dict.get(‘key’)或者dict.getlist(‘key’)
2. 响应Response
Response是由开发者自己创建的
创建方法:
1 | from flask import make_response |
状态码:
格式:make_reponse(data,code),其中data是返回的数据内容,code是状态码
1 | a)直接将内容当做make_response的第一个参数,第二个参数直接写返回的状态码 |
例子1:
定义一个获取GET请求的request的方法,并将返回成功的请求的状态码修改为200
1 | @blue.route('/getrequest/', methods=['GET']) |
例子2:
返回response响应,并添加返回结果的状态码200
1 | @blue.route('/getresponse/') |
3. 重定向/反向解析
1 | url_for('蓝图定义的名称.方法名') |
例子1:
定义跳转方法,跳转到get_response的方法上
1 | @blue.route('/getredirect/') |
例子2:
使用url_for反向解析
1 | from flask import redirect, url_for |
4. 终止/异常捕获
自动抛出异常:abort(状态码)
捕获异常处理:errorhandler(状态码),定义的函数中要包含一个参数,用于接收异常信息
4.1 定义终止程序
1 | @blue.route('/make_abort/') |
4.2 捕获定义的异常
1 | @blue.errorhandler(400) |
最后更新: 2018年06月11日 19:35