特定の例外クラスを作成しました
class myException(Exception):
...
そして私はいくつかの特定の見解で例外を提起します
djangoには、urls.pyの例外(Http404、Http403 ....など)を処理する方法がすでに存在します。
handler404 = 'myViews.error.not_found'
私がやりたいのは、別のビューにリダイレクトするためにmyExceptionを処理することです。
どうやってやるの ?
プロジェクトのカスタム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