返回博客

23 用 Trae 从零做一个待办应用(上):让 AI 帮你写后端

23 用 Trae 从零做一个待办应用(上):让 AI 帮你写后端

导语:后端不是"几个接口"那么简单——接口背后是数据库。这一篇把表结构和接口一起做完,重点演练"怎么跟 AI 描述需求"。

很多人以为"做后端"就是写几个接口,其实后端 = 接口 + 数据库:接口负责收请求,数据库负责真存东西。这一篇一次做完:让 AI 建表 + 写接口,你负责检查表结构、看懂接口和数据库的关系、验证数据真的存进去了。

一、开工前准备

  1. 装好 Trae:一款 AI 编程工具(IDE),打开后选一个空目录作为项目文件夹。
  2. 初始化 Git(20 篇):git init 后先 commit 一次空项目——从第一步就有存档。
  3. 确认本机有 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 从零做一个待办应用(下):加前端页面,让接口变成能点的界面。