AttributeError - CBV 'function' 对象没有属性 'as_view'

AttributeError - CBV 'function' object has no attribute 'as_view'

我将常规 CBV 与装饰器结合使用,但总是出现此错误:

AttributeError: 'function' object has no attribute 'as_view'

这是我的代码:

@my_decorator
class MyView(View):
    template_name = 'package/index.html'

    def get(self, request, *args, **kwargs):
        ...

知道我做错了什么吗?

谢谢!

罗恩

问题是 CBV 与 decorators 的工作方式与 FBV 不同。

这是使用它的方法:

@method_decorator(my_decorator)
def dispatch(self, *args, **kwargs):
    return super(MyView, self).dispatch(*args, **kwargs)

Here is a link to the documentation.