1

我以为我理解了 WSGI 规范。所以我正在查看这个 Django 模块https://github.com/django/django/blob/master/django/middleware/locale.py我只是不明白它是如何实现 wsgi 中间件的,正如 pep0333 解释的那样它。

我期待在某处签名,例如

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 回答