![](https://img-blog.csdnimg.cn/direct/0dba6009cf5d4f84b75a7626876b4cb6.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
fastapi-登录
文章平均质量分 59
使用fastapi实现用户后端登录模块
。️
that'all
展开
-
fastapi用户登录模块——“用户登录“
【代码】fastapi用户登录模块。原创 2023-12-17 10:32:57 · 1146 阅读 · 1 评论 -
fastapi用户登录模块——“修改密码“
在这个接口中,同样使用了依赖注入(Dependency Injection)来获取数据库会话(db)和JWT令牌中的用户数据(token_data),以及接收一个名为"obj"的修改密码数据。在方法内部,首先创建一个包含新密码哈希值的更新数据字典(update_data),然后使用数据库会话执行更新操作,将新密码的哈希值更新到对应用户的记录中。在接口的实现中,首先从JWT令牌中获取用户的ID(user_id),然后调用"curd_user.checkPwd"函数来检查用户输入的旧密码是否正确。原创 2023-12-17 12:19:01 · 448 阅读 · 1 评论 -
fastapi用户登录模块——“退出登录“
当用户发起退出登录的请求时,系统会首先验证用户的访问令牌(token_data)是否有效,这是通过依赖(Depends)中的deps.check_jwt_token实现的。总的来说,这段代码实现了用户退出登录的逻辑,包括验证访问令牌、删除Redis中的令牌信息和返回成功的JSON响应。在函数内部,它首先尝试从请求的应用状态中获取Redis实例,如果获取到了Redis实例,则将其返回。总的来说,这个函数实现了从请求中获取Redis实例的逻辑,并且在没有获取到实例时返回None。原创 2023-12-17 11:48:29 · 515 阅读 · 1 评论 -
fastapi用户登录模块——“改变头像“
这段代码接受一个数据库会话(db: Session)、一个ID(_id: int)、一个头像路径(avatar_path: str)和一个修改者ID(modifier_id: int = 0)作为参数。在这个函数中,它首先创建了一个包含要更新的数据的字典update_data,然后根据是否提供了修改者ID来决定是否将修改者ID加入到update_data中。在函数内部,它首先从JWT token数据中获取用户ID,然后读取上传的图片文件的数据,并根据一定的规则生成新的图片文件名和存储路径。原创 2023-12-17 13:16:00 · 65 阅读 · 1 评论 -
fastapi用户登录模块——“验证注册的token“
另外,它依赖一个名为redis的Redis实例,该实例通过deps.get_redis函数获取。这段代码定义了一个函数get_redis,它接收一个Request对象,并返回一个可选的Redis实例。在函数内部,它首先尝试从请求的应用状态中获取Redis实例,如果获取到了则返回该实例,否则返回None。这个函数看起来是用于从请求中获取Redis实例的,它可能会在其他地方被调用以获取Redis实例,以便在处理请求时使用Redis进行数据存储和检索操作。原创 2023-12-17 12:50:02 · 287 阅读 · 1 评论 -
fastapi用户登录模块——“获取用户路由树状菜单“
在函数内部,它首先根据当前用户是否为超级用户来调用curd_user.getMenus函数获取相应的菜单数据,然后将菜单数据包装在成功响应中返回。这段代码是一个方法,用于从数据库中获取用户菜单数据。这段代码是一个基于FastAPI的路由处理函数,用于获取用户路由菜单。在整个过程中,它使用了SQLAlchemy的查询构建方式,通过多个表的关联来获取用户的菜单数据。这段代码看起来是用于根据用户权限获取相应的路由菜单数据,并返回给前端应用。这段代码看起来是用于根据用户ID获取相应的菜单数据,并将其整理后返回。原创 2023-12-17 12:52:37 · 119 阅读 · 1 评论 -
fastapi用户登录模块——“用户注册“
这些方法接收一个数据库会话对象(db: Session)和相应的参数(用户名、邮箱或手机号),然后使用过滤条件来查询数据库中的用户表(Users),并返回查询结果中的第一个用户对象。首先,它将输入对象转换为可序列化的字典(obj_in_data),然后使用get_password_hash函数对密码进行哈希处理,并将哈希后的密码存储到字典中,然后删除原始的密码字段。这段代码是一个创建用户的方法。在这些方法中,使用了ORM(对象关系映射)的方式来查询数据库,这是一种常见的在Python中操作数据库的方法。原创 2023-12-17 12:20:28 · 1045 阅读 · 1 评论 -
fastapi用户登录模块——“获取登录、注册、忘记密码时候时候的验证码“
它定义了一个GET请求的路由"/captcha-code",用于获取登录、注册、忘记密码等场景下的验证码。在函数内部,它首先检查是否启用了验证码功能(settings.USE_CAPTCHA),如果没有启用,则返回一个空的验证码信息。如果启用了验证码功能,它调用了create_base64_code函数生成了一个包含验证码图片和验证码字符串的base64编码,并生成了一个唯一的key。总的来说,这段代码的作用是根据是否启用了验证码功能,生成相应的验证码信息并存储到Redis中,然后返回给客户端。原创 2023-12-17 14:13:58 · 425 阅读 · 1 评论 -
fastapi用户登录模块——“获取用户自己的资料“+“修改个人信息“
在这个接口中,同样使用了依赖注入(Dependency Injection)来获取数据库会话(db)和JWT令牌中的用户数据(token_data),以及接收一个名为"obj"的用户信息修改数据。在接口的实现中,首先从JWT令牌中获取用户的ID(user_id),然后调用"curd_user.update"函数来更新数据库中对应用户的信息,传入的参数包括数据库会话(db)、用户ID(user_id)、要修改的用户信息数据(obj)以及修改者的ID(modifier_id)。原创 2023-12-17 12:09:25 · 910 阅读 · 1 评论 -
fastapi用户登录模块——“查询用户信息可用性“
函数接受一个数据库会话(db)、一个用户名(username)和一个可选的排除用户ID(exclude_id)。参数,它会调用不同的函数来检查用户名、邮箱或手机号的可用性,并返回相应的JSON响应。,这意味着它是一个Pydantic模型,可以用来定义数据的结构和验证数据的有效性。这个模型的作用是在用户查询信息可用性时,验证传入的数据是否符合要求。这些函数用于检查用户名、邮箱和手机号的可用性。函数与上述函数类似,不同之处在于它检查的是邮箱的可用性。函数也是类似的,不同之处在于它检查的是手机号的可用性。原创 2023-12-17 11:55:54 · 67 阅读 · 1 评论