python - 特定异常的处理程序

标签 python django

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

class myException(Exception):
    ...

我对某些特定 View 提出了异常(exception)

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

handler404 = 'myViews.error.not_found'

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

我怎样才能做到这一点?

最佳答案

您应该能够通过编写和注册自定义 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

关于python - 特定异常的处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12191110/

相关文章:

python - 要附加到的空 numpy 数组

Python 字符串以 # 开头

python - Django 应用程序的 Procfile 中应该包含哪些内容?

django 生产服务器 : root path

python - 从大文件分块数据进行多处理?

python - 如何使用小批量代替 SGD

python - django-cors-headers 根本不工作

python - 在 Django 中使用 HttpResponseRedirect 时如何传递模板上下文信息?

python - 在 tastypie 中发布 url

python - .aggregate() 中使用的 Django @property