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中注冊此中間件