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 に答える