import logging from django.shortcuts import redirect, render from django.utils.deprecation import MiddlewareMixin from system.error import ServerException, PermissionDeniedException class ExceptionMiddleware(MiddlewareMixin): def process_exception(self, request, exception): if type(exception) == ServerException: print("发生异常:{}".format(exception), request) logging.error("发生异常:{}".format(exception), request) return render(request, 'error.html', { 'message': exception.message, }) elif type(exception) == PermissionDeniedException: return render(request, 'error.html', { 'message': exception.message, }) else: print("发生异常:{}".format(exception), request)