Python 请解释一下我提到的代码行
这是我在一本书中看到的一个混音Python 请解释一下我提到的代码行,python,django,mixins,django-class-based-views,Python,Django,Mixins,Django Class Based Views,这是我在一本书中看到的一个混音 from django.core.cache import caches from django.views.decorators.cache import cache_page from django.views.decorators.vary import vary_on_cookie class CachePageVaryOnCookieMixin: cache_name = 'default' @classmethod def
from django.core.cache import caches
from django.views.decorators.cache import cache_page
from django.views.decorators.vary import vary_on_cookie
class CachePageVaryOnCookieMixin:
cache_name = 'default'
@classmethod
def get_timeout(cls):
if hasattr(cls, 'timeout'):
return cls.timeout
cache = caches[cls.cache_name]
return cache.default_timeout
@classmethod
def as_view(cls, *args, **kwargs):
view = super().as_view(*args, **kwargs)
view = vary_on_cookie(view)
view = cache_page(timeout = cls.get_timeout(), cache = cls.cache_name)(view)
return view
在as_view()view=cache\u页面(timeout=cls.get\u timeout(),cache=cls.cache\u name)(视图)
(视图)最后有什么用。它是类型转换吗?
cache\u page
是一个返回另一个接受视图作为参数的函数。这也可以分为两部分,如下所示:
callable\u func=cache\u页面(timeout=cls.get\u timeout(),cache=cls.cache\u name)
返回可调用函数(视图)
可能是主题外的,也可能是检查代码检查,所以?(视图)
是对可调用的的调用,参数为视图
。@stephanmg:code检查用于您自己编写(或维护)并理解的工作代码。这不是关于(1)别人的代码,或(2)询问它是如何工作的或为什么工作的。