我创建了一个特定的异常类
class myException(Exception):
...
我在某个特定视图上引发了异常
在django已经存在一种方法来处理urls.py中的一些异常(如Http404,Http403 ......)
handler404 = 'myViews.error.not_found'
我想做的是处理myException,以便重定向到另一个视图。
我该怎么做?
答案 0 :(得分:2)
您应该可以通过为项目编写和注册自定义Django middleware class来实现此目的。
在中间件的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