1

WSGI 仕様を理解していると思いました。だから私はこのDjangoモジュールを見ていますhttps://github.com/django/django/blob/master/django/middleware/locale.pyそして、pep0333が説明するように、それがwsgiミドルウェアの実装であることがわかりませんそれ。

次のようなどこかで署名を期待していました

def __call__(self, environ, start_response)

また、別のアプリケーションを呼び出してその戻り値を処理する小さなルーチンも含まれています。

サーバービットがどこにあり、このミドルウェアのアプリケーションがどこにあるのか誰か説明できますか?

4

1 に答える 1

2

Djangoミドルウェアは、あなたが考えているものとは少し異なります。djangoスタックの内側にあります。djangoミドルウェアを介して、ユーザーが作成/受信するリクエストとレスポンスの各ステップにアクセスできます。

https://docs.djangoproject.com/en/dev/topics/http/middleware/?from=olddocs

これはdjango内で行われます。WSGIはリクエストの処理とレスポンスの返送を処理しますが、djangoは、djangoにヒットすると、それを変更するためのフックを提供します。

于 2012-05-08T12:29:42.537 に答える