当前位置: 首页 > 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.rkmt.cn/news/1444049.html

相关文章:

  • 抖音批量下载神器:3分钟搞定视频、合集、主页全量采集
  • 【Redis】 缓存三大问题 + 大Key/热Key 全面解析
  • Arduino Mega 2560异步编程实战:多任务、中断与状态机应用
  • 3步完成Mac Boot Camp驱动自动化安装:Brigadier终极解决方案
  • 小程序样式适配深坑!iOS/Android样式错乱终极解决方案
  • 常见的网络攻击
  • 从啤酒尿布到你的购物车:用亲和性分析优化独立站商品推荐(Python实战)
  • FigmaCN:3分钟搞定Figma中文界面汉化的完整指南
  • 专业WarcraftHelper完整指南:魔兽争霸III游戏优化工具一键配置
  • 告别ArcGIS频繁崩溃:从Normal.mxt到Python环境,彻底排查那些不起眼的配置陷阱
  • AI编程应用
  • TVS选型与电路防护:从浪涌机理到钳位优化的完整指南
  • 烟囱美化多少钱?新大高空价格透明 - myqiye
  • C++ Lambda表达式:从入门到精通
  • 你的QQ音乐文件只能在特定App播放?这个macOS工具帮你彻底解锁音乐自由
  • 字节跳动2026年算法面试高频题及最优解法(附实战演练)
  • Ubuntu换源后`apt update`还是慢?除了镜像源,你可能忽略了这3个关键设置(附Ubuntu 18.04/20.04实测)
  • 标识牌设计制作多少钱 - mypinpai
  • 不只是心跳:深入理解Aurix TC3XX时钟树如何影响你的系统性能与功耗
  • Win11双显卡(核显+独显)如何为不同CUDA版本指定GPU?实测避坑指南
  • 2026年不锈钢水箱价格多少钱? - 工业品牌热点
  • 告别复制粘贴!用Postman Tests脚本实现API自动化测试的5个实战场景
  • 《流畅的Python》读书笔记19(补充01): 使用 yield from - 再谈PE380
  • Sora 2新闻视频生成全链路拆解(含CNN/BBC已验证的伦理校验模板与版权规避清单)
  • 西安企来客科技深度调查:西北 GEO 黑马崛起真相揭示
  • 2026年北京通骋公司靠谱排名 - 工业品牌热点
  • 微服务中集成大模型调用的降级限流与优雅容灾实践
  • 【工信部信通院认证】Sora 2虚拟主播视频生成合规性自测工具包(含17项AI内容水印检测项)
  • 2026成都训犬寄养机构评测:魔宠犬堡联系与服务解析 - 优质品牌商家
  • Sora 2视频增强不再依赖GPU堆砌:轻量化推理方案实测提速3.8倍,单卡3090实时处理1080p@24fps