process_exception(自己、要求、例外)関数は、2つのパラメータをとり、例外例外オブジェクトは、例外を考慮して生成されます
process_exception機能の実行順序は逆の順番settings.pyセットミドルウェアで行われます
異常が実行されたビュー機能にのみ発生にprocess_exception関数は、その値がNoneにすることができる返す、またはHttpResponseオブジェクトであってもよいです
リターンなした場合、メソッドは例外を処理するために次の中間にprocess_exceptionに続きます
リターンのHttpResponse場合は、この方法のミドルウェアprocess_responseを呼び出します
middleware_test.py:
インポートMiddlewareMixinのdjango.utils.deprecation django.shortcutsからはHttpResponseにインポートし 、クラスをテスト(MiddlewareMixin): DEF process一(セルフ、要求): 印刷( "それはミドルウェアである- >テスト") DEFのにprocess_exception(セルフ、リクエスト、例外): 印刷( "これはにprocess_exceptionのテストである") 印刷(例外) クラスTEST2(MiddlewareMixin): DEF process一(セルフ、要求): 印刷( "それはミドルウェアである- > TEST2") DEFのにprocess_exception(セルフ、要求、例外): 印刷( "ここにあるにprocess_exceptionにTest2") 印刷(例外)
views.py:
django.shortcutsからのHttpResponseをインポート DEF指数(要求): 印刷(「これはインデックスページである」) 昇給とValueError(「これは間違いである」) はHttpResponseを返す(「ここのメインページインデックスがあります」)
訪問は、http://127.0.0.1:8000 /インデックス/
結果: