当前位置: 首页 > 知识库问答 >
问题:

python - flask-login登录属性获取问题?

赵君植
2023-07-21

我在使用flask-login进行登录管理,使用的是数据库模型里面的属性做标识符,以下为我的登录回调函数
image.png

代码片段

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_loaderdef load_user(user_id):    return User(user_id)

以下为我的登录过程,我在表单验证成功后将数据库模型传入User这个类当中,想通过数据库.字段名去获取对应的用户id,但是为什么总是提示AttributeError: 'str' object has no attribute 'id'这个报错呢?同时为什么我使用current_user.name返回的属性也是None呢,数据库里面是有id这个字段的
image.png
代码片段

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')})

报错截图
image.png

共有2个答案

孙永嘉
2023-07-21

self.id = user_id.id
这一步不应该是self.id = user_id嘛

栾耀
2023-07-21
from flask_login import UserMixinfrom sqlalchemy import Column, Integer, Stringfrom database import SessionLocal, engine, Baseclass 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_loaderdef load_user(user_id):    # 创建数据库会话    db = SessionLocal()    user = db.query(User).get(user_id)    if user:        return User(user)    return None
 类似资料:
  • 问题内容: 最近,我一直在为在Glassfish v3上运行的Web应用程序实施安全性。我通过设置基本身份验证成功设法保护了一些资源,如下所示: 现在,我想知道如何在登录提示中引入用户名,以影响用户的实际数据。我以为可以有一个会话属性来获取那段数据,但是我不知道它是哪一个。 会话属性我错了吗?还有其他方法可以访问该登录信息吗? 提前致谢。 问题答案: 可通过以下方式获得: 在JSP EL中等效:

  • 问题内容: 如何获取烧瓶上的复选框是否已选中我正在使用Flask开发服务器环境使用Flask,Gevent和Web套接字进行项目。我用过。这里 如何获得每个连接的唯一会话ID? 我想将其存储在数据库中,并在客户端断开连接后将其删除。 如何获得活动连接总数 问题答案: 没有会话ID。 Flask中的会话只是Cookie的包装。你保存在上面的内容经过数字签名,并以cookie的形式发送给客户端。当你发

  • 问题内容: 我的flask登录有问题。填写登录表单并单击“提交”后,出现此错误: Flask-login AttributeError:“用户”对象没有属性“ is_active” 创建了一些测试用户。而且登录模板没有问题 追溯: My code in views: My model: 问题答案: 你应该在模型上进行子类化。你还应该添加一个user_loader

  • dash-flask-login This is an example of Flask-login implementation on top of a Dash application for users authentication. The example comes with users authentication through a sqlite3 database, however

  • 在我们的前几章中,围绕着要讲解的内容持续得再丰富一个 REST 服务。但是,截止到目前为止,我们这个 REST 服务都是没有权限控制的,也就是说,如果将这个 REST 服务发布到外网上去,那么将可以被任何人操作,增删改查都不是问题。 作为我们的重要服务(真的很重要:-D),我们怎么能让别人随便操作我们的数据呢,所以这一章就讲解一下如何使用 Flask 的又一扩展 Flask-Login 来进行访问

  • 描述 (Description) 您可以使用此类型的模式进行身份验证。 它使用以下方法 - myApp.modalLogin(text, [title, callbackOk, callbackCancel]) OR myApp.modalLogin(text, [callbackOk, callbackCancel]) 以上方法接受下面列出的参数 - text - 显示带文本的模态。 tit