我创建了一个特定的异常类
class myException(Exception):
...
我在某些特定的观点上提出了例外
在 django 中已经存在一种方法来处理 urls.py 中的一些异常(如 Http404、Http403....)
handler404 = 'myViews.error.not_found'
我想做的是处理 myException,以便重定向到另一个视图。
我怎样才能做到这一点 ?
您应该能够通过为您的项目编写和注册自定义Django 中间件类来实现此目的。
在中间件的process_exception
方法中,检查你感兴趣的异常并生成一个合适的HttpResponse:
def process_exception(self, request, exception):
if isinstance(exception, myException):
return http.HttpResponse("myException raised")
else:
# Perform standard error handling for other exceptions:
return None