FastAPI & SQLModel 学习笔记1

未分类
565 词

来自 曙光 21 天打卡挑战 - Day1

学习 FastAPI & SQLModel.

FastAPI 是一个用于构建 Web 后端的 python 库,SQLModel 是配套的数据库操作库(使用 ORM)

大致过程:

先通读文档(说实话官方文档实在有点啰嗦,甚至从建表开始手把手教你 SQL),期间有啥不懂就问亲爱的 ds 老师(比如各种 Join 的区别);

然后 clone 下来官方 github 仓库 fastapi-fullstack-template,大致读了一遍项目结构,重点是理清多文件各模块的功能,
其中主要有

  • routes/xxx.py: 负责分文件编写 api 端点
  • db.py: 建立数据库连接,和初始化数据库
  • deps.py: 提供 token 读取验证、数据库会话(session) 等,用于将依赖注入 api 端点函数
  • models.py: 保存 SQL 表的 python class 表示,和 api 请求与响应的模型(两者是通用的,得益于 SQLModel)
  • crud.py: 封装一些常用的数据库读写方法,比如 create_user,这些在 api 端点处理函数中都可以复用
  • main.py: 不多说

项目使用 uv 构建,uv 提供了 python 版本管理、虚拟环境、包管理等,比裸 python 环境好用 100 倍,强力推荐!

用户鉴权部分涉及一些安全知识,稍复杂,来日再战罢。

事已至此,先睡觉吧 QAQ

留言