TEL:400-8793-956
当前位置:程序、服务器

AttributeError:类型对象“ User”没有属性“ create_user”

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-14 08:36:26

 问:以下是我的app.py文件代码:

 
如果name ==' main ':models.initialize()尝试:models.User.create_user(username ='GabeRivera',email=' gabriel.f.rivera.10@gmail ',password ='turbo13negro',admin = True)除了ValueError:pass app.run(debug = DEBUG,host = HOST,port = PORT)
 
当我尝试运行它时,我收到以下错误消息:追溯(最近一次调用):<模块>模型中的文件“ app.py”,行120。User.create_user(AttributeError:类型对象“ User”没有属性'create_user'(venv)Gabriels-MBP:Greenshare Gabe $
 
任何帮助了解我在做什么错,将不胜感激。谢谢你们。
 
 
答:您有格式错误。在您的User类中,归于该类的所有事物都需要缩进。您的类方法create_user不在User类下缩进,也不算作该类的一部分。例如
 
类 用户(UserMixin , 型号):
用户名= CharField (唯一=真)电子邮件= CharField (唯一=真)密码= CharField (MAX_LENGTH = 100 )joined_at = DateTimeField字段(默认=日期时间,日期时间。现在)is_admin = BooleanField (默认值=错误的      
 
      )
#此行下的所有内容均不算作User类类Meta的一部分:database = DATABASE order_by = ('-joined_at' ,)def get_posts (self ):return Post 。选择()。其中,(帖子。用户==自我)高清get_stream (个体经营):回邮。选择()。其中,((邮
 
        。用户 ==  self )
)@classmethod def create_user (cls ,用户名,电子邮件,密码,admin = False ):试试:使用DATABASE 。transaction ():cls 。创建(用户名=用户名,电子邮件=电子邮件,密码= generate_password_hash (密码),is_admin =管理员    
 
                ),
但IntegrityError除外:引发ValueError (“用户已存在” )     
         
类 用户(UserMixin , 型号):
用户名= CharField (唯一=真)电子邮件= CharField (唯一=真)密码= CharField (MAX_LENGTH = 100 )joined_at = DateTimeField字段(默认=日期时间,日期时间。现在)is_admin = BooleanField (默认值=错误的      
 
      )
#此行下的所有内容现在都属于User类类Meta的一部分:database = DATABASE order_by = ('-joined_at' ,)def get_posts (self ):return Post 。选择()。其中,(帖子。用户==自我)高清get_stream (个体经营):回邮。选择()。哪里((发表。
 
            用户 ==  self )
)@classmethod def create_user (cls ,用户名,电子邮件,密码,admin = False ):试试:使用DATABASE 。transaction ():cls 。创建(用户名=用户名,电子邮件=电子邮件,密码= generate_password_hash (密码),is_admin = admin )        
    
        除了 IntegrityError :
提高ValueError (“用户已经存在” )    
上一篇: 页面未显示在Firefox中
下一篇: setattr()实际做什么?