Django可以使用中间件重写,对全局的异常进行处理,只需要在继承MiddlewareMixin的基础上,重写异常处理的逻辑,然后在中间件中组册便可使用。
其他的中间件还有:
请求中间件process_request视图中间件process_view响应中间件process_response
1、应用下新建middleware.py(其他名也可以)
from django.utils.deprecation import MiddlewareMixin import requests class ExceptionMiddleware(MiddlewareMixin): def process_exception(self, request, exception): print("发生异常:{}".format(exception), request) print("发送报告……") res = requests.get("http://127.0.0.1:8001/home/{}".format(exception)) if res.status_code == 200: print("发送成功!") else: print("发送失败!")
本代码是在发生异常时,向其他服务起发送信号所做的简单逻辑。
2、在settings.py中注册此中间件