我在使用flask-login进行登录管理,使用的是数据库模型里面的属性做标识符,以下为我的登录回调函数
代码片段
class User(UserMixin):
def __init__(self,user_id):
self.id = user_id.id
self.name = user_id.name
def get_id(self):
return str(self.id)
@super_login.user_loader
def load_user(user_id):
return User(user_id)
以下为我的登录过程,我在表单验证成功后将数据库模型传入User这个类当中,想通过数据库.字段名去获取对应的用户id,但是为什么总是提示AttributeError: 'str' object has no attribute 'id'这个报错呢?同时为什么我使用current_user.name返回的属性也是None呢,数据库里面是有id这个字段的
代码片段
user_obj = model_login(name = username2)
user = User(user_obj)
login_user(user,remember = True)
return jsonify({'code': 200, 'message': '登录成功', 'data': url_for('software_click.software_base')})
报错截图