导语:后端不是"几个接口"那么简单——接口背后是数据库。这一篇把表结构和接口一起做完,重点演练"怎么跟 AI 描述需求"。
很多人以为"做后端"就是写几个接口,其实后端 = 接口 + 数据库:接口负责收请求,数据库负责真存东西。这一篇一次做完:让 AI 建表 + 写接口,你负责检查表结构、看懂接口和数据库的关系、验证数据真的存进去了。
一、开工前准备
- 装好 Trae:一款 AI 编程工具(IDE),打开后选一个空目录作为项目文件夹。
- 初始化 Git(20 篇):
git init后先commit一次空项目——从第一步就有存档。 - 确认本机有 Python:命令行敲
python --version,有版本号即可。
经验:第 1 步就建好 Git 存档,后面 AI 每改一版你都敢试——这就是 20 篇说的"后悔药"。
二、怎么跟 AI 描述需求(本篇重点)
别只说"帮我做个待办应用后端"——按 22 篇的好需求四要素(技术栈 + 上下文 + 期望 + 范围)写,再加一句关键的话。给你的模板:
"我要在空目录里新建一个待办应用的后端。技术栈:Python + Flask + SQLite(SQLite 是文件型数据库,不用装服务)。数据必须真的存进 SQLite:先设计表结构(id 主键、标题必填、完成状态、创建时间),再写四个接口——①新增待办 ②查看全部 ③标记完成/未完成 ④删除——接口都要读写这张表。返回 JSON。请先讲实现思路,再给我完整代码和运行说明。先做后端,不写前端。"
为什么这样写:
- 技术栈(Flask + SQLite):AI 不用猜用什么框架。
- 上下文(空目录新建):AI 知道从哪开始搭。
- 期望(建表 + 四接口 + 落库 + JSON):验收标准明确。
- 范围(先做后端):一次只干一件事(22 篇①)。
- 加粗那句最重要:"数据必须真的存进 SQLite"——防止 AI 图省事,把数据存在内存列表里(一重启就没了)。
经验:新手和 AI 协作最常见的坑,就是 AI 做了"假接口"——数据存内存/列表,看着能用,一重启全没。需求里明确"必须落库 + 先设计表结构",AI 就会老实建表。
三、AI 生成后,你要做的四件事
按 22 篇第④步验收,四件事:
1. 看懂目录结构
AI 一般会生成:
todo-app/
├── app.py # 主程序(建表 + 路由都在这里)
├── requirements.txt # 依赖清单
└── todo.db # SQLite 数据库文件(运行后自动生成)
确认:主文件在哪、依赖清单在哪。让 AI 解释一次目录,看懂再往下。
2. 检查表结构(5 秒清单)
找到建表代码(AI 应该给了,别让它"偷偷"建在你看不见的地方),对着查:
- 有主键(id)吗?——没有,删数据会删错行。
- 标题字段必填吗?——空标题待办没意义。
- 有完成状态吗?——勾选完成要靠它。
- 有创建时间吗?——没有也能用,但有更好。
经验:表结构是地基,先检查再跑——地基歪了,后面所有功能都跟着歪(15 篇:先设计后写码)。
3. 理解路由和数据库的关系(核心)
每个接口背后,是一个数据库操作——这是"后端"和"数据库"真正的连接点:
| 接口 | 数据库操作 | 大白话 |
|---|---|---|
POST /todos |
INSERT | 往表里插一行 |
GET /todos |
SELECT | 把表里所有行查出来 |
PUT /todos/<id> |
UPDATE | 改某一行的完成状态 |
DELETE /todos/<id> |
DELETE | 删掉某一行 |
经验:接口是"前台窗口",数据库操作是"仓库搬货"——看懂每个接口对应哪个数据库操作,后端你就真懂了(15 篇的 API + 表结构在这里落地)。
4. 运行测试 + 验证数据真的存进去了
pip install -r requirements.txt
python app.py
浏览器访问 http://127.0.0.1:5000/todos,看到 [](空列表 JSON)说明后端活了。然后关键一步——验证数据真落库了,两个办法:
- 办法一(最硬核):用接口新增一条待办,然后重启后端,再访问
/todos——数据还在,说明真存进 SQLite 了;数据没了,说明是内存假接口。 - 办法二(看得见):用 SQLite 工具(如 DB Browser for SQLite)打开
todo.db,直接看表里有几行。
经验:"重启还在"是后端落库的金标准——内存里存的假接口,一重启就现原形。这一步没验证,后端等于没做完。
四、常见卡点(都学过了)
| 卡点 | 原因 | 解法 |
|---|---|---|
ModuleNotFoundError |
依赖没装 | pip install -r requirements.txt(14 篇) |
| 端口被占用 | 5000 被占了 | 让 AI 换 5001,或关掉占用程序 |
| 数据库报错 | 路径/权限问题 | 报错原文贴给 AI(22 篇②) |
| 数据重启就没了 | 接口把数据存内存,没落库 | 让 AI 改成 SQLite 读写,别用列表存 |
经验:遇到任何报错——贴原文给 AI,别自己瞎猜(22 篇铁律)。你在前 21 篇学的知识,现在都变成"能看懂 AI 在干嘛"的底子。
五、避坑清单
- 需求里明确"数据必须存进 SQLite"——防 AI 做内存假接口,这是 23 篇最重要的一个动作。
- 表结构先检查再跑:主键、必填标题、完成状态、创建时间,5 秒过一遍。
- 每个接口对应一个数据库操作:POST=INSERT、GET=SELECT、PUT=UPDATE、DELETE=DELETE——对不上就让 AI 改。
- 用"重启还在"验证落库:金标准,别跳过。
- 每步都 commit:AI 每给一版能跑的代码就
git add . && git commit(20 篇)。
总结
- 后端 = 接口 + 数据库:接口收请求,数据库真存东西。
- 好需求模板:技术栈(Flask + SQLite)+ 期望(建表 + 四接口 + 落库)+ 范围(先后端)——必须强调"数据存进 SQLite"。
- 验收四件事:看懂目录、检查表结构、看懂接口↔数据库操作、运行测试 + 重启验证落库。
- 卡点都学过:依赖没装、端口冲突、报错贴原文、内存假接口要改 SQLite。
- 避坑四条:需求写明落库、表结构先查、接口对应数据库操作、重启还在才算完。
10 分钟小任务:按模板让 AI 生成后端(含建表);做验收四件事——重点做"重启验证":新增一条待办 → 重启后端 → 再查还在不在。数据还在,你的后端就真的"有数据库"了!下一篇,给它加一个用户能点的前端页面。
下一篇:用 Trae 从零做一个待办应用(下):加前端页面,让接口变成能点的界面。
