# fastapi_study **Repository Path**: python_90/fastapi_study ## Basic Information - **Project Name**: fastapi_study - **Description**: fastapi_study - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-24 - **Last Updated**: 2026-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 FastAPI 学习项目 > 基于 `uv` + FastAPI 的学习项目,含 48 篇分步文档 + 模块清单 + 代码笔记,开箱即跑。 --- ## 📦 项目信息 | 项 | 值 | | --- | --- | | 项目名 | `fastapi-study` | | Python | `>=3.12` | | 依赖管理 | `uv` + `uv.lock` | | Web 框架 | `fastapi[standard]` + `uvicorn` | | ORM | `sqlmodel` + `aiomysql`(MySQL 异步) | | 迁移工具 | `aerich` / `alembic` | --- ## 🛠️ 环境准备 ```bash pip install uv # 装 uv uv sync # 一键还原依赖 ``` --- ## 📁 目录结构 ``` fastapi_study/ ├── main.py # 入口:FastAPI 示例应用 ├── pyproject.toml # 依赖声明 ├── uv.lock # 依赖锁定 ├── readme.md # 项目说明(本文件) ├── 模块.md # FastAPI 生态库清单 + 下载量排名 ├── 代码.md # 核心代码笔记(中间件/ORM/CRUD) └── doc/ # 48 篇分步学习文档 ├── 01_环境搭建...md ├── ... └── 48_项目完整实战.md ``` --- ## 📚 学习文档导航(doc/) | 章节 | 文档 | 内容 | | --- | --- | --- | | 环境起步 | 01–04 | uv 安装、虚拟环境、依赖、AI 生成接口 | | 请求参数 | 05–11 | 路径/查询参数、请求体、Query/Path/Field 校验 | | 表单/文件 | 12–16 | 表单、异步、文件上传、Request 对象 | | 响应类型 | 17–22 | JSON/列表/分页/文件/HTML 响应 | | ORM | 23–38 | Tortoise 配置/模型/CRUD/关联关系 | | 中间件/CORS | 39–42 | 中间件、跨域 | | 项目结构 | 43–48 | 业务划分、分层、完整实战 | --- ## ▶️ 启动方式 ```bash # 1️⃣ 命令行启动(推荐) uv run uvicorn main:app --reload # 2️⃣ FastAPI CLI 启动 uv run fastapi dev main.py # 3️⃣ 直接运行 main.py uv run python main.py ``` 启动后访问: | 项目 | 地址 | | --- | --- | | 📘 Swagger UI | | | 📕 ReDoc | | --- ## 📦 迁移命令(aerich) ```bash uv run aerich init -t main.TORTOISE_ORM # 初始化 uv run aerich init-db # 建初始表 uv run aerich migrate --name xxx # 改模型后生成迁移 uv run aerich upgrade # 执行迁移 uv run aerich downgrade # 回滚 ``` --- ## 📚 常用 `uv` 命令 | 命令 | 作用 | | --- | --- | | `uv sync` | 按 `uv.lock` 还原依赖 | | `uv add <包>` | 新增依赖 | | `uv remove <包>` | 删除依赖 | | `uv lock` | 重新锁定依赖版本 | | `uv run <命令>` | 在虚拟环境中执行命令 | | `uv python list` | 查看可用 Python 版本 | | `uv python install 3.12` | 安装指定 Python 版本 | --- ## 📖 配套文档 | 文件 | 内容 | | --- | --- | | `模块.md` | FastAPI 生态库清单 + 必用清单 + 56 个库下载量排名 | | `代码.md` | 中间件 + 依赖注入 + SQLAlchemy 异步 ORM + CRUD 代码笔记 | | `doc/1/readme.md` | uv + FastAPI 快速上手 | --- ## 🚀 快速开发模板 官方全栈模板(开箱即用,前后端 + 部署一体化): - 仓库: | 层 | 技术 | | --- | --- | | 后端 | FastAPI + SQLModel + Pydantic v2 | | 数据库 | PostgreSQL(异步)+ Alembic 迁移 | | 认证 | JWT(OAuth2 Password Flow) | | 前端 | React + TypeScript + Vite | | UI | Tailwind CSS + shadcn/ui | | 测试 | Pytest(后端)+ Playwright(E2E) | | 部署 | Docker Compose + Traefik(反向代理/HTTPS) | | CI/CD | GitHub Actions | > 适合直接克隆作为生产项目起点;学习阶段建议先跟完本仓库 48 篇文档再上手模板。