Django报错:AttributeError: 'function' object has no attribute 'as_view'

如题所述

第1个回答  2022-07-12
在学习Django视图策略的时候,使用基于类的视图 (CBV),遇到了一个问题:

先简单介绍一下CBV:

我的视图如下:

url:

最终在Stack Overflow上找到了答案,在这个类上不能使用@login_required这个装饰器,而需要使用method_decorator,并传递一个装饰器(或一个装饰器列表)并告诉应该装饰哪个类。在 CBV 中,装饰 调度类 是很常见的。它是一个Django内部使用的方法(在 View 类中定义)。所有的请求都会经过这个类,所以装饰它会相对安全。如下,注意导入模块from django.utils.decoratorsimport method_decorator:

这样问题就解决了,这里贴上Stack Overflow原回答链接: Django/python: 'function' object has no attribute 'as_view' - Stack Overflow
相似回答
大家正在搜