diff --git a/main.py b/main.py index 1e24ec21795cd286b541a3e9f6a326603c5e3727..e7c7f3cd16b050c939814f272108416675a9d2df 100644 --- a/main.py +++ b/main.py @@ -220,6 +220,36 @@ def error_404(e): # 必须定义形参来接收具体的错误信息 return "您访问的页面去浪迹天涯了... %s" % e +############################################################请求钩子####################################################################### +# 在第一次请求之前调用,可以在此方法内部做一些初始化操作 +@app.before_first_request +def before_first_request(): + print("before_first_request") + + +# 在每一次请求之前调用,这时候已经有请求了,可能在这个方法里面做请求的校验 +# 如果请求的校验不成功,可以直接在此方法中进行响应,直接return之后那么就不会执行视图函数 +@app.before_request +def before_request(): + print("before_request") + # if 请求不符合条件: + # return "laowang" + + +# 在执行完视图函数之后会调用,并且会把视图函数所生成的响应传入,可以在此方法中对响应做最后一步统一的处理 +@app.after_request +def after_request(response): + print("after_request") + response.headers["Content-Type"] = "application/json" + return response + + +# 请每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息 +@app.teardown_request +def teardown_request(response): + print("teardown_request") + + # Flask应用程序实例的run方法启动WEB服务器 if __name__ == '__main__': print(app.url_map) diff --git a/user/views.py b/user/views.py index 49267d9a60b8f1eb3c63f20d42848a4098e49acb..a0f0d5bbe99059395d512c92ab944981bdd80330 100644 --- a/user/views.py +++ b/user/views.py @@ -210,7 +210,7 @@ def login_use_session(): #####################################http错误进行异常捕获, 以及主动抛出http错误########################################## # flask中对http错误封装了异常处理, 可以对http错误进行异常捕获, 以及主动抛出http错误 - +# 2.捕获指定异常 @user_blu.errorhandler(ZeroDivisionError) def error_zero(e): return '除数不能为0'