Py学习  »  Django

django 1.11新中间件和decorator_from_middleware_with_args

Trent • 4 年前 • 130 次点击  

我一直在寻找发送一个中间件类A参数(名称),但是文档确实是矛盾的

当我试图将*args、**kwargs或命名参数添加到 初始 我收到消息:类型错误: 初始 ()得到意外的关键字参数

直接看手册,上面写着:

django只使用get_response参数初始化中间件,因此不能定义 初始 (二)需要其他论证的。

然后我找到一个名为decorator_的方法,它来自带有参数的中间件,文档中说

decorator_from_middleware_with_args(middleware_class)[来源]类似 decorator_from_middleware,但返回一个接受 要传递给中间件类的参数。例如, cache_page()decorator是从cacheMiddleware创建的,如下所示:

cache_page = decorator_from_middleware_with_args(CacheMiddleware)

@cache_page(3600)
def my_view(request):
    pass

但是,如果中间件的init不能接受参数,这怎么可能呢?

有人知道怎么在Django 1.11工作吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46624
 
130 次点击