Django的。特定的错误处理,不包括每个调用函数中的try-catch

时间:2014-06-17 09:31:08

标签: django exception-handling

在Django中,我是否可以指定应始终以特定方式处理特定错误?具体来说,我希望页面重定向到另一个URL。

class MyOwnError(Exception):
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return repr(self.value)

def function_2():
    raise MyOwnError()

def handle_my_own_error(request)
    do stuff
    return HttpResponseRedirect("some_path") 

def calling_function(request):
    function_2()
    # I want to redirect to the result of handle_my_own_error(), without having to specify try-exception here.

1 个答案:

答案 0 :(得分:1)

如果错误处理应该在视图中发生(我假设应用了重定向)

您可以编写处理自定义异常的自定义中间件。在django docs中查看更多内容:

https://docs.djangoproject.com/en/1.6/topics/http/middleware/#process-exception