我一直在向中间件类发送参数(名称),但是文档确实矛盾
当我尝试在 init 中添加* args,** kwargs或命名参数时,出现以下消息:TypeError: init ()得到了意外的关键字参数< / p>
转到手册,上面写着:
Django仅使用get_response参数初始化中间件,因此您不能将 init ()定义为需要任何其他参数。
然后我找到了一个名为decorator_from_middleware_with_args的方法,文档说
decorator_from_middleware_with_args(middleware_class)[source]¶喜欢 decorator_from_middleware,但返回一个接受 要传递给middleware_class的参数。例如, Cache_page()装饰器是通过CacheMiddleware创建的,如下所示:
cache_page = decorator_from_middleware_with_args(CacheMiddleware)
@cache_page(3600)
def my_view(request):
pass
但是如果中间件的初始化不能接受参数怎么办?
有人知道如何在Django 1.11中使它工作吗?