您的位置 首页 编程知识

Flask-Login 获取登录属性异常:如何解决 ‘str’ object has no attribute ‘id’ 和 current_user.name 为 None 的问题?

flask-login获取登录属性异常 在使用flask-login管理登录时,遇到使用数据库模型属性作为标识…

Flask-Login 获取登录属性异常:如何解决 'str' object has no attribute 'id' 和 current_user.name 为 None 的问题?

flask-login获取登录属性异常

在使用flask-login管理登录时,遇到使用数据库模型属性作为标识符却报错attributeerror: ‘str’ object has no attribute ‘id’以及current_user.name返回的属性为none的问题。

这可能是由于在初始化user类时未正确获取数据库模型属性。下面提供修改后的代码:

from flask_login import UserMixin from sqlalchemy import Column, Integer, String from database import SessionLocal, engine, Base  class User(UserMixin, Base):     __tablename__ = "users"      id = Column(Integer, primary_key=True, index=True)     name = Column(String, unique=True, index=True)     password = Column(String)      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):     # 创建数据库会话     db = SessionLocal()     user = db.query(User).get(user_id)     if user:         return User(user)     return None
登录后复制

在修改后的代码中:

  • 创建了一个数据库会话,以访问数据库。
  • 使用查询获取用户id对应的用户。
  • 如果找到用户,则将其转换为user类并返回。

通过这些修改,可以正确获取数据库模型属性,从而解决报错和属性返回none的问题。

以上就是Flask-Login 获取登录属性异常:如何解决 ‘str’ object has no attribute ‘id’ 和 current_user.name 为 None 的问题?的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/3702.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部