当前位置: 首页 > news >正文

AI掘金头条新闻系统 (Toutiao News)-更新用户信息

1.schemas/users.py

# 更新用户信息的模型类 class UserUpdateRequest(BaseModel): nickname: str = None avatar: str = None gender: str = None bio: str = None phone: str = None

2.crud/users.py

# 更新用户信息:update更新 -> 检查是否命中 -> 获取更新后的用户返回 async def update_user(db: AsyncSession, username: str, user_data: UserUpdateRequest): # update(User).where(User.username == username).values(字段=值,字段=值) # user_data 是一个 Pydantic 类型,得到字典 -> ** 解包 # 没有设置值的不更新 query = update(User).where(User.username == username).values(**user_data.model_dump( exclude_unset=True, exclude_none=True )) result = await db.execute(query) await db.commit() # 检查更新 if result.rowcount == 0: raise HTTPException(status_code=404, detail="用户不存在") # 获取一下更新后的用户 updated_user = await get_user_by_username(db, username) return updated_user

3.routers/users.py

# 修改用户信息:验证Token -> 更新(用户输入数据 put提交 -> 请求体参数 -> 定义Pydantic模型类) -> 响应结果 # 参数:用户输入的 + 验证Token的 + db(调用更新的方法) @router.put("/update") async def update_user_info( user_data: UserUpdateRequest, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db) ): user = await users.update_user(db, user.username, user_data) return success_response( message="更新用户信息成功", data=UserInfoResponse.model_validate(user) )
http://www.jsqmd.com/news/932713/

相关文章:

  • 从一次线上事故,彻底搞懂 MySQL 间隙锁
  • 业财脱节、预算悬空,集团企业预算管控如何真正落地?
  • 2026 无锡瓷砖空鼓异响维修优质企业榜单 七大区正规团队推荐 - 吉修匠
  • 抖音批量下载神器:3分钟搞定视频、合集、主页全量采集
  • 拒绝无效 Todo 列表,用 Tasks 系统搞定多 Agent 协同开发
  • blog_贪心算法
  • EarlyStopping调参避坑指南:你的patience和min_delta真的设对了吗?
  • MAA明日方舟自动化助手:3个模块实现游戏日常一键完成
  • 别再为手机拍屏幕的摩尔纹发愁了!用Python和PyTorch复现2018 TIP顶会去摩尔纹算法DMCNN
  • 别拿基础说事,AI入门级认证连初中生都能听懂大半
  • 【Redis】 缓存三大问题 + 大Key/热Key 全面解析
  • 实战OpenCV与Python:如何用代码获取和验证你的相机内参矩阵K?
  • Arduino Mega 2560异步编程实战:多任务、中断与状态机应用
  • 华为OD算法复习5——栈与队列 Javascript
  • 3步完成Mac Boot Camp驱动自动化安装:Brigadier终极解决方案
  • 如何快速免费下载Sketchfab完整3D模型?终极简单指南
  • 别再踩坑了!AI智能体选型避坑指南,这款神器让你少花冤枉钱
  • 小程序样式适配深坑!iOS/Android样式错乱终极解决方案
  • 2026年GEO商业模式的本质困境:为什么大多数服务商难以盈利?
  • LIWC-Python 终极指南:用Python解锁文本心理学的秘密
  • 常见的网络攻击
  • 从啤酒尿布到你的购物车:用亲和性分析优化独立站商品推荐(Python实战)
  • 告别启动失败:微PE装Win10/Win11时,关于Legacy和UEFI引导你必须知道的几件事
  • 基于GSR与PPG传感器的嵌入式生理信号检测系统开发实践
  • 用74HC595驱动4位数码管:3个引脚实现32段显示的动态扫描方案
  • XCOM 2 Alternative Mod Launcher 终极指南:告别官方启动器的完整解决方案
  • 5大维度深度解析OneMore:重塑OneNote生产力的开源插件
  • 每日 AI 研究简报 · 2026-05-31
  • FigmaCN:3分钟搞定Figma中文界面汉化的完整指南
  • 2026年做水力计算的公司价格排名,哪家性价比高? - myqiye