我以为我理解了WSGI规范。所以我正在看这个Django模块https://github.com/django/django/blob/master/django/middleware/locale.py,我只是不知道它是如何实现wsgi中间件的,因为pep0333解释了它。
我期待某个地方有签名,例如
def __call__(self, environ, start_response)
以及一个调用另一个应用程序并处理其返回值的小例程。
有人可以解释一下服务器位在哪里以及这个中间件中的应用程序在哪里?
答案 0 :(得分:2)
Django中间件与您的想法略有不同。它位于django堆栈内。通过django中间件,您可以访问用户进行/接收的请求和响应的每个步骤。
https://docs.djangoproject.com/en/dev/topics/http/middleware/?from=olddocs
这只发生在django内。 WSGI处理请求并返回响应,但是django会在你点击django时为你提供修改它的钩子。