首页 / 知识库 / 0基础入门-阅读资料 / 0基础-后台入门

零基础后台入门教程 —— 从 FastAPI 到前后端联调

前置要求:已掌握 Python 基础语法、已了解 Vue 基本使用

目标:理解后台是什么、能用 FastAPI 搭建服务并操作数据库完成增删改查、能用 Vue 前端调用后台接口


第一章 理解”后台”到底是什么

1.1 生活中的类比

  • 餐厅模型:顾客(前端)→ 服务员(接口)→ 厨房(后台)→ 仓库(数据库)
  • 你每天都在用后台:打开微信、刷抖音、点外卖,数据从哪来?

1.2 前端 vs 后端 vs 数据库

  • 前端:用户看到的界面(Vue / 小程序 / App)
  • 后端/后台:处理业务逻辑的服务程序,运行在服务器上
  • 数据库:持久化存储数据的地方

1.3 一次请求的完整旅程

  • 用户点击按钮 → 前端发出 HTTP 请求 → 后端接收并处理 → 读写数据库 → 返回结果 → 前端展示
  • 画一张流程图帮助理解

1.4 什么是 API / 接口

  • API = 前后端之间的”约定”
  • URL + 请求方法(GET/POST/PUT/DELETE)+ 参数 + 返回值
  • JSON:前后端沟通的通用语言

第二章 环境搭建

2.1 需要安装什么

  • Python 3.10+(已有)
  • pip install fastapi uvicorn sqlmodel
  • 可选:安装 DB Browser for SQLite 可视化查看数据库

2.2 推荐的项目目录结构

my_backend/
├── main.py          # 入口文件
├── models.py        # 数据模型
├── database.py      # 数据库配置
├── requirements.txt # 依赖清单
└── test.http        # 接口测试文件(可选)

2.3 第一次启动服务

  • 写一个最简单的 FastAPI 程序
  • uvicorn main:app --reload 启动
  • 浏览器打开 http://127.0.0.1:8000,看到返回结果
  • 打开 http://127.0.0.1:8000/docs,认识自动生成的接口文档

第三章 FastAPI 核心概念(快速上手)

3.1 路由:URL 和函数的对应关系

  • @app.get("/") —— 定义一个 GET 接口
  • @app.post("/") —— 定义一个 POST 接口
  • 路径参数:/users/{user_id}
  • 查询参数:/users?name=xxx

3.2 请求与响应

  • 接收 JSON 数据:使用 Pydantic 模型定义请求体
  • 返回 JSON 数据:直接 return 字典或模型对象
  • 状态码的含义:200 成功 / 404 找不到 / 500 服务器出错

3.3 用 /docs 页面测试接口

  • Swagger UI:不用写前端也能测试后台接口
  • 动手练习:写几个简单接口并在 /docs 里调用

第四章 数据库入门 —— 数据存到哪里?

4.1 为什么需要数据库

  • 变量存在内存里,程序一关数据就没了
  • 数据库 = 帮你持久化保存数据的工具

4.2 选择 SQLite + SQLModel

  • SQLite:最简单的数据库,一个文件就是一个数据库,无需安装服务
  • SQLModel:用 Python 类来描述数据库表,不用写 SQL 语句

4.3 定义数据模型(建表)

  • 用 Python 类定义一张表:字段名、类型、是否可选
  • 示例:定义一个 Todo 待办事项表(id, title, done)

4.4 连接数据库

  • 创建数据库引擎(engine)
  • 创建表(create_all)
  • 获取数据库会话(Session)

第五章 增删改查(CRUD)—— 后台的核心工作

这是整个教程最重要的一章,一切后台业务的本质就是 CRUD

5.1 什么是 CRUD

操作含义HTTP 方法SQL 对应
Create新增POSTINSERT
Read查询GETSELECT
Update修改PUT/PATCHUPDATE
Delete删除DELETEDELETE

5.2 Create —— 新增一条数据

  • 接口:POST /todos
  • 接收前端传来的 JSON → 创建模型实例 → 存入数据库 → 返回新数据

5.3 Read —— 查询数据

  • 查询全部:GET /todos → 获取列表
  • 查询单条:GET /todos/{id} → 根据 id 查找
  • 找不到时返回 404

5.4 Update —— 修改数据

  • 接口:PUT /todos/{id}
  • 先查到数据 → 修改字段 → 保存到数据库 → 返回更新后的数据

5.5 Delete —— 删除数据

  • 接口:DELETE /todos/{id}
  • 先查到数据 → 删除 → 返回成功提示

5.6 完整代码走读

  • 把增删改查四个接口的完整代码放在一起,逐行讲解

第六章 前后端联调 —— Vue 调用后台接口

6.1 跨域问题(CORS)

  • 什么是跨域:浏览器的安全策略,前后端端口不同就会被拦截
  • FastAPI 一行代码解决:添加 CORS 中间件

6.2 Vue 中使用 axios / fetch 调用接口

  • 安装 axios:npm install axios
  • GET 请求获取列表
  • POST 请求新增数据
  • PUT 请求修改数据
  • DELETE 请求删除数据

6.3 实战:Todo 待办应用的前后端联调

  • 前端 Vue 页面:输入框 + 列表 + 完成/删除按钮
  • 后端 FastAPI:提供增删改查四个接口
  • 完整闭环演示:前端操作 → 后端处理 → 数据库变化 → 前端更新

第七章 常见问题与调试技巧

7.1 看报错信息

  • 终端里的错误日志怎么看
  • 浏览器控制台的网络请求(Network 面板)

7.2 常见坑

  • 端口被占用怎么办
  • 接口返回 422:通常是请求参数格式不对
  • 接口返回 500:后端代码报错,看终端日志
  • CORS 报错:检查是否添加了跨域中间件

7.3 推荐工具

  • Apifox / Postman:专业的接口测试工具
  • DB Browser for SQLite:可视化查看数据库内容
  • 浏览器 F12 Network 面板:查看请求详情

第八章 总结与延伸

8.1 本教程学到了什么

  • 理解了前端、后端、数据库的关系
  • 能用 FastAPI 搭建一个后台服务
  • 能用 SQLModel 操作数据库完成增删改查
  • 能实现 Vue 前端与后台的接口对接

8.2 进阶方向(了解即可)

  • 用户认证:登录 / 注册 / Token 验证
  • 更强大的数据库:MySQL / PostgreSQL
  • 部署上线:把后台放到云服务器上
  • AI + 后台:调用大模型 API,做 AI 应用的后台

附录

A. 完整项目代码参考

  • 后端完整代码(main.py / models.py / database.py)
  • 前端关键代码(axios 调用示例)

B. 常用命令速查

命令作用
pip install fastapi uvicorn sqlmodel安装依赖
uvicorn main:app --reload启动后台服务(热重载)
uvicorn main:app --host 0.0.0.0 --port 8000指定地址和端口启动

C. 推荐阅读