Flask 属性错误:';用户';对象没有属性';处于活动状态';

Flask 属性错误:';用户';对象没有属性';处于活动状态';,flask,flask-sqlalchemy,flask-login,Flask,Flask Sqlalchemy,Flask Login,我尝试运行我的应用程序进行登录,但当我提交表单以检查用户id和电子邮件时,我收到了此错误。AttributeError:“user”对象没有属性“is_active”,因此感谢您的帮助 rv = self.dispatch_request() File "/home/peg/flask/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request return self.vi

我尝试运行我的应用程序进行登录,但当我提交表单以检查用户id和电子邮件时,我收到了此错误。AttributeError:“user”对象没有属性“is_active”,因此感谢您的帮助

   rv = self.dispatch_request()

    File "/home/peg/flask/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request

    return self.view_functions[rule.endpoint](**req.view_args)

    File "/home/peg/flask/app/view.py", line 45, in login

    login_user(user_in_db, remember = form.remember_me.data)

    File "/home/peg/flask/venv/lib/python2.7/site-packages/flask_login.py", line 675, in login_user

    if not force and not user.is_active():
view.py

model.py

class User(db.Model):
   __tablename__ = "Contacts"
   id = db.Column(db.Integer, primary_key = True)
   name = db.Column(db.String(50))
   email = db.Column(db.String(50))
   age = db.Column(db.Integer)

def __init__(self, name, email, age ):
    self.name = name
    self.email = email
    self.age = age

def is_authenticated(self):
    return True

def is_active(self):
    return True

def is_anonymous(self):
    return False

def get_id(self):
    return unicode(self.id)


def __repr__(self):
    return '<User %r>' %(self.name)
类用户(db.Model):
__tablename=“联系人”
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(50))
email=db.Column(db.String(50))
年龄=分贝列(分贝整数)
定义初始(自我、姓名、电子邮件、年龄):
self.name=名称
self.email=电子邮件
self.age=年龄
def已通过身份验证(自身):
返回真值
def处于活动状态(自):
返回真值
def是匿名的(自我):
返回错误
def get_id(自身):
返回unicode(self.id)
定义报告(自我):
返回“”%(self.name)

您的缩进错误。您没有在
User
上定义方法,而是定义了模块级函数

class User(db.Model):
    __tablename__ = "Contacts"
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(50))
    email = db.Column(db.String(50))
    age = db.Column(db.Integer)

    def __init__(self, name, email, age ):
        self.name = name
        self.email = email
        self.age = age

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return unicode(self.id)

    def __repr__(self):
        return '<User %r>' %(self.name)
类用户(db.Model):
__tablename=“联系人”
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(50))
email=db.Column(db.String(50))
年龄=分贝列(分贝整数)
定义初始(自我、姓名、电子邮件、年龄):
self.name=名称
self.email=电子邮件
self.age=年龄
def已通过身份验证(自身):
返回真值
def处于活动状态(自):
返回真值
def是匿名的(自我):
返回错误
def get_id(自身):
返回unicode(self.id)
定义报告(自我):
返回“”%(self.name)

model.py
中的
def
缩进是否正确?它们应该在用户类中(在每个
def
之前添加一个选项卡)。是的,它们是@DoobehNow I get error raise ValueError('View function未返回响应')。您能帮我解决这个问题吗@dirn这是一个完全不同的问题,应该作为一个单独的问题来问,但这意味着无论您访问哪个端点,其路径都不会以
返回结束。
class User(db.Model):
    __tablename__ = "Contacts"
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(50))
    email = db.Column(db.String(50))
    age = db.Column(db.Integer)

    def __init__(self, name, email, age ):
        self.name = name
        self.email = email
        self.age = age

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return unicode(self.id)

    def __repr__(self):
        return '<User %r>' %(self.name)