1.before_request 请求进入进入视图函数之前进行处理 return None 继续执行 否则阻断
2.after_request 视图函数结束 响应客户端之前
正常周期: be1 - be2 - be3 - vf - af3 - af2 - af1
异常周期: be1 - af3 - af2 - af1 (假设be1 异常)
3.errorhandler 重定义错误信息
3.1.有参数的装饰器errorhandler(监听错误状态码 5xx 4xx Int)
3.2.所装饰的函数必须有一个形参来接受 errorMessage
from flask import Flask, render_template, send_file app = Flask(__name__) @app.before_request def be1(): print(‘be1‘) return None @app.before_request def be2(): print(‘be2‘) return None # return "error" @app.before_request def be3(): print(‘be3‘) return None # return "error" @app.after_request def af1(res): print(‘af1‘) return res @app.after_request def af2(res): print(‘af2‘) return res @app.after_request def af3(res): print(‘af3‘) return res @app.route("/info", methods=["GET", "POST"]) def info(): return render_template("info.html") @app.errorhandler(404) def error404(error_message): print(error_message) return send_file(‘1.png‘) #404可以不单单返回信息 可以返回图片 音乐等等 if __name__ == ‘__main__‘: app.run()
原文:https://www.cnblogs.com/XLHIT/p/11171897.html