AttributeError: 'BaseQuery' object has no attribute 'is_authenticated'
AttributeError: 'BaseQuery' object has no attribute 'is_authenticated'
@login_manager.user_loader
def load_user(user_id):
return Users.query.filter_by(id=user_id)
这是我的用户加载程序
@app.route('/login', methods=['POST','GET'])
def login():
msg = ''
if request.method == 'POST':
username = request.form['user']
password = request.form['pass']
hashed_password = sha256(password.encode('utf-8')).hexdigest()
user = Users.query.filter_by(username=username).first()
if user:
if user.hashed_password ==hashed_password:
login_user(user, remember=True)
return redirect(url_for('add'))
else:
msg = 'incorrect username or password'
return render_template('login.html',msg=msg)
这是我的登录代码,我不知道这里出了什么问题,但我得到了 AttributeError: 'BaseQuery' object has no attribute 'is_authenticated' error please help
变化:
@login_manager.user_loader
def load_user(user_id):
return Users.query.filter_by(id=user_id)
至:
@login_manager.user_loader
def load_user(user_id):
return Users.query.filter_by(id=user_id).first()
如果您不使用 first()
,return 类型将是 BaseQuery。
@login_manager.user_loader
def load_user(user_id):
return Users.query.filter_by(id=user_id)
这是我的用户加载程序
@app.route('/login', methods=['POST','GET'])
def login():
msg = ''
if request.method == 'POST':
username = request.form['user']
password = request.form['pass']
hashed_password = sha256(password.encode('utf-8')).hexdigest()
user = Users.query.filter_by(username=username).first()
if user:
if user.hashed_password ==hashed_password:
login_user(user, remember=True)
return redirect(url_for('add'))
else:
msg = 'incorrect username or password'
return render_template('login.html',msg=msg)
这是我的登录代码,我不知道这里出了什么问题,但我得到了 AttributeError: 'BaseQuery' object has no attribute 'is_authenticated' error please help
变化:
@login_manager.user_loader
def load_user(user_id):
return Users.query.filter_by(id=user_id)
至:
@login_manager.user_loader
def load_user(user_id):
return Users.query.filter_by(id=user_id).first()
如果您不使用 first()
,return 类型将是 BaseQuery。