Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问已注册的Django中间件对象_Django - Fatal编程技术网

访问已注册的Django中间件对象

访问已注册的Django中间件对象,django,Django,我已经定义了一个中间件类XYZMiddleware,并在settings.middleware中注册了它 XYZMiddleware对象具有相关状态,因此在集成测试中,我需要访问Django(从1.11开始)创建的XYZMiddleware对象 我如何取回它? (文档似乎没有提到它,也没有提到。)中间件在BaseHandler.load\u Middleware(在django.core.handlers.base)中加载和注册。这段代码看起来不像是让中间件对象可以访问 再看一下中间件文档, 我

我已经定义了一个中间件类
XYZMiddleware
,并在
settings.middleware
中注册了它

XYZMiddleware
对象具有相关状态,因此在集成测试中,我需要访问Django(从1.11开始)创建的
XYZMiddleware
对象

我如何取回它?
(文档似乎没有提到它,也没有提到。)

中间件在
BaseHandler.load\u Middleware
(在
django.core.handlers.base
)中加载和注册。这段代码看起来不像是让中间件对象可以访问

再看一下中间件文档, 我发现:

与每次请求调用一次的
\uuu call\uu()
方法不同,
当Web服务器启动时,只调用一次
\uuuuuu init\uuuu()

原文的重点。 在我看来,似乎只有一个中间件类实例存在。因此,正确的解决办法应该是改变现状 从实例变量到类变量