flask |
您所在的位置:网站首页 › pkgj107无法获取列表http状态异常 › flask |
make_response 响应
1.返回内容
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
response = make_response('羞羞哒')
return response, 404
2.返回页面
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
temp = render_template('hello.html')
response = make_response(temp)
return response
3.返回状态码
>>>方式一:在make_response()中传入状态码
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
temp = render_template('hello.html')
response = make_response(temp, 200)
return response
>>>方式二:直接return状态码
from flask import make_response
@blue.route('/makeresponse/')
def make_response_function():
temp = render_template('hello.html')
response = make_response(temp)
return response, 200
flask 抛出异常
try:
req = request.get_json()
if req is None:
req = {}
fw.sessions[session_name].interfaces.add(
name=interface_name, **req)
return make_response(jsonify(message='Interface created'), status.HTTP_201_CREATED)
except InterfaceExists as e:
http_code = status.HTTP_409_CONFLICT
except InterfaceNotValid as e:
http_code = status.HTTP_400_BAD_REQUEST
except Exception as e:
http_code = status.HTTP_500_INTERNAL_SERVER_ERROR
abort 方法
抛出一个给定状态代码的 HTTPException 或者 指定响应,例如想要用一个页面未找到异常但你想终止请求,你可以调用 abort(404)。 @app.route("/demo1") def demo1(): abort(404) # 抛出404错误 return "抛出404" 捕获异常errorhandler 装饰器 当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法 参数:code_or_exception – HTTP的错误状态码 # 捕获相关状态码,然后进行处理 @app.errorhandler(404) def internal_server_error(e): return '服务器搬家了' ## 捕获指定异常,然后进行处理 @app.errorhandler(ZeroDivisionError) def zero_division_error(e): return '除数不能为0' 请求钩子在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接; 在请求开始时,根据需求进行权限校验; 在请求结束时,指定数据的交互格式; 1.before_first_request:在第一次请求之前运行,只需执行一次,如链接数据库2.before_request:在每一次请求都会执行,可以在这里做权限校验操作,比如说某用户是黑名单用户,黑名单用户登录系统将遭到拒绝访问,可以使用before_request进行权限校验。3.after_request:在请求之后运行,会接收一个参数,这个参数就是前面的请求处理完毕之后, 返回的响应数据,如果需要对响应做额外处理,可以再这里进行。4.teardown_request:每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息 from flask import Flask app = Flask(__name__) @app.route('/') def helloworld(): return 'hello world' 在第一次请求之前运行. # 例子: 比如连接数据库操作, 只需要执行一次 @app.before_first_request def before_first_request(): print('before_first_request') 在每一次请求都会执行例子: 可以在这里做权限校验操作,比如说某用户是黑名单用户,黑名单用户登录系统将遭到拒绝访问,可以使用 # before_request进行权限校验 @app.before_request def before_request(): print('before_request') 在请求之后运行 @app.after_request def after_request(response): # response: 就是前面的请求处理完毕之后, 返回的响应数据 # 如果需要对响应做额外处理,可以再这里进行 # json.dumps 配置请求钩子 # response.headers["Content-Type"] = "application/json" print('after_request') return response 每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息 @app.teardown_request def teardown_request(error): # 数据库的扩展, 可以实现自动提交数据库 print('teardown_request: error %s' % error) |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |