PHP前端开发

Flask-Login 属性访问报错:如何解决“str' object has no attribute 'id'”?

百变鹏仔 5天前 #Python
文章标签 报错

flask-login属性访问报错

使用flask-login进行用户登录时,遇到了无法获取登录用户的属性问题,报错为:“str' object has no attribute 'id'”(字符串对象没有id属性)。

问题原因:
初始化user类时,将数据库模型中的user对象直接传入,而不是获取相应属性值。

解决方法:
在user类中正确获取数据库模型的属性值。修改后的代码如下:

class User(UserMixin):    def __init__(self, user_id):        self.id = user_id.id        self.name = user_id.name

此外,使用current_user.name获取用户名称时,也应确保数据库中存在“name”字段。