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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django报错:AttributeError: 'function' object has no attribute 'as_view'相关的知识,希望对你有一定的参考价值。

参考技术A 在学习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

AttributeError:模块'django.db.models'没有属性'DataField'[关闭]

【中文标题】AttributeError:模块\'django.db.models\'没有属性\'DataField\'[关闭]【英文标题】:AttributeError: module 'django.db.models' has no attribute 'DataField' [closed]AttributeError:模块'django.db.models'没有属性'DataField'[关闭] 【发布时间】:2020-12-22 03:54:00 【问题描述】:

我尝试运行我的服务器然后我得到了这个updated_at=models.DataField(auto_now_add=True) AttributeError: module 'django.db.models' has no attribute 'DataField'

根据错误所在的行,这里是检测到错误的确切代码。

    id=models.AutoField(primary_key=True)
    name=models.CharField(max_length=225)
    email=models.CharField(max_length=224)
    password=models.CharField(max_length=225)
    created_at=models.DateField(auto_now_add=True)
    updated_at=models.DataField(auto_now_add=True)
    objects=models.Manaager()

请帮助我,因为我是 python 新手

【问题讨论】:

DataField 在 Django 中不作为字段存在,可能是拼写错误 由于您是 Python 新手,我的建议是更密切地关注遇到此类问题时出现的错误和堆栈跟踪。它们往往信息量很大,比如这个,它可以准确地告诉你问题出在什么地方。 【参考方案1】:

你写了DataField,而不是DateFieldManaager 也应该是 Manager。 您的代码应如下所示:

    id=models.AutoField(primary_key=True)
    name=models.CharField(max_length=225)
    email=models.CharField(max_length=224)
    password=models.CharField(max_length=225)
    created_at=models.DateField(auto_now_add=True)
    updated_at=models.DataField(auto_now_add=True)
    objects=models.Manager()

【讨论】:

谢谢你可能头晕了

以上是关于Django报错:AttributeError: 'function' object has no attribute 'as_view'的主要内容,如果未能解决你的问题,请参考以下文章

Django报错 The serializer field might be named incorrectly and not match any Got AttributeError when a

Django:AttributeError:“NoneType”对象没有属性“is_relation”

Django 1.8 AttributeError:模块没有属性'urls'

django - AttributeError:'AnonymousUser'对象没有属性'todo'

Django 3:AttributeError:'AdminSite'对象没有属性'Register' [关闭]

Django 2.2 + AttributeError:'str'对象没有属性'decode'