1

djangoミドルウェアの使用方法とその用途について知りたいのですが。そして、私がそれらなしではできないこと。

djangoのHttpRequestとHttpResponseは、私が必要とする可能性のあるすべての種類のものを処理するのに十分ではありません。

最後に、私がdjangoのミドルウェアに行く必要があると考え始めるとき。

ありがとう!

4

2 に答える 2

6

つまり、各ビューの前および/または後(つまり、要求がビューに到達する前、または応答がビューを離れた後)に常に何かが発生するようにしたい場合は、ミドルウェアを使用します。

この質問を参照してください。

すべてのビューの前または後にビュー固有ではないことを実行したい場合に使用します。たとえば、要求されたすべてのURLをログに記録する場合は、request.pathを取得してどこかに書き込むミドルウェアを使用する必要があります。

于 2012-08-29T07:34:49.273 に答える
5

Djangoミドルウェアは、すべてのリクエストに対して同じ一連のアクションを実行するのに役立つフレームワーク機能です。これは、Djangoの入力や出力をグローバルに変更するための軽量で低レベルの「プラグイン」システムと考えることができます。MIDDLEWARESミドルウェアをいくつでも定義してから、のタプルを使用してそれらのサブセットを有効にすることができますsettings.py

より正確には、ミドルウェアは、process_request、process_view、process_template_responseなどのいくつかの関数を持つクラスであり、djangoは特定の時間内に各プロセスの各関数を呼び出します。たとえば、views.pyのコードの前にprocess_viewが呼び出されます。実行されます。

したがって、すべての要求に対して同じことを実行したい場合は、ミドルウェアを柔軟で強力なオプションと考えることができます。ミドルウェアとその作成方法の詳細については、https ://docs.djangoproject.com/en/dev/topics/http/middleware/を参照してください。

于 2012-08-29T07:46:26.660 に答える