パイソン - ジャンゴ - ミドルウェアにprocess_exception

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 /インデックス/

 

結果:

 

おすすめ

転載: www.cnblogs.com/sch01ar/p/11517128.html
おすすめ