1

我创建了一个特定的异常类

class myException(Exception):
    ...

我在某些特定的观点上提出了例外

在 django 中已经存在一种方法来处理 urls.py 中的一些异常(如 Http404、Http403....)

handler404 = 'myViews.error.not_found'

我想做的是处理 myException,以便重定向到另一个视图。

我怎样才能做到这一点 ?

4

1 回答 1

2

您应该能够通过为您的项目编写和注册自定义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
于 2012-08-30T06:56:19.757 回答