0

有没有办法将异常映射到 Django 中的 HttpResponse 对象?

例如,我想将我自己的“UnauthorizedException”映射到 HttpResponseForbidden 响应对象,因此当我的视图引发该异常时,而不是自动映射到 500,某些异常可以被视为 401。

4

1 回答 1

4

如果您实现自己的实现该process_exception方法的中间件,则可以。一个简单的例子:

from django.http import HttpResponseForbidden
from app.exceptions import UnauthorizedException


class UnauthorizedAccessMiddleware(object):
    def process_exception(self, request, exception):
        if isinstance(exception, UnauthorizedException):
           return HttpResponseForbidden("You are not authorized to access that page.")
于 2012-07-31T18:52:16.723 回答