【从0到1实战FastAPI+AI开发学生信息管理系统(FastAPI+MySQL+Vue3)】 从0到1实战FastAPIAI开发学生信息管理系统FastAPIMySQLVue3前言FastAPI凭借轻量高性能、原生数据校验、自动接口文档、异步编程、依赖注入等优势是目前Python后端接口首选开发框架。本文借助PyCharm腾讯CodeBuddy AI插件从零搭建学生信息管理全栈项目后端FastAPISQLAlchemyMySQL前端Vue3ElementPlus全程AI辅助生成代码新手可跟着落地实操。一、开发环境准备1. 开发工具IDE选用PyCharmVS Code也可通用数据库采用MySQL 8.0/9.x版本。2. Python环境配置新建Python项目可选系统Python3.13或Conda虚拟环境、项目内置venv虚拟环境保证有解析器在项目根目录新建requirements.txt依赖清单终端使用清华镜像一键安装依赖文章结尾我会提供依赖环境配置文件requirements.txt的下载链接,当然也可以自己配.# 清华源加速安装依赖pipinstall-rrequirements.txt-ihttps://pypi.tuna.tsinghua.edu.cn/simple不指定镜像源会默认使用国外源下载速度缓慢。pip install -r requirements.txt核心依赖清单requirements.txtfastapi0.136.1 uvicorn anyio4.13.0 sqlalchemy pydantic python-dotenv httpx......二、安装AI编程插件CodeBuddy借助AI自动生成分层代码大幅减少手写工作量PyCharm顶部【文件→设置→Plugins插件】Marketplace搜索Tencent Cloud CodeBuddy可顺带安装Qoder CN安装完成重启IDE浏览器登录CodeBuddy账号平台每月免费Token额度满足小型项目开发扫码登录后,切换插件Craft智能体模式可选DeepSeek等大模型实现需求拆解、代码批量生成。三、项目分层架构设计采用MVC高内聚低耦合分层架构项目目录标准结构(后面我们直接用AI给我生成)PythonProject8/ ├── .env # 数据库环境配置文件 ├── requirements.txt # 项目依赖 ├── main.py # 项目启动入口 ├── database.py # 数据库连接配置 ├── app/ ├── core/ # 全局配置、缓存、配置文件 ├── models/ # SQLAlchemy数据库实体模型 ├── schemas/ # Pydantic入参/出参数据校验模型 ├── crud/ # 数据库基础增删改查 ├── services/ # 业务逻辑层核心业务校验 ├── routers/ # API接口路由层 ├── frontend/ # Vue3前端项目目录四、MySQL数据库部署与配置1. MySQL安装前往MySQL官网下载Windows MSI安装包8.4LTS/9.1版本安装过程务必记录root账号密码。2. 创建业务数据库CMD命令行登录MySQLmysql-uroot-p执行SQL创建项目数据库CREATEDATABASEtest;3. 项目根目录新建.env环境配置文件写入数据库连接信息DB_USERroot DB_PASSWORD你的数据库密码 DB_HOSTlocalhost DB_PORT3306 DB_NAMEtest3. PyCharm数据源连接打开Database面板新增MySQL数据源填写账号密码、端口、库名test测试连接成功即配置完成连接失败需去电脑服务中启动MySQL服务。3. 数据源连接失败原因分析如果连接失败又确保自己的密码账号没错,就回到桌面右键此电脑,点击管理进入服务找到MySQL查看MySQL是否启动,没有就启动一下再回来重新测试连接连接成功后,先打开控制台,创建我们的数据库(我在.env里的DB_NAME是test),所以我就通过create database test刷新一下就可以看到我们建的数据库了五、AI分阶段生成后端代码学生信息管理项目需求学生字段学生编号、班级、姓名、籍贯、毕业院校、专业、入学时间、毕业时间、学历、顾问编号、年龄、性别业务约束新增学号唯一入学时间毕业时间删除逻辑删除标记删除字段不物理删除数据修改学生编号禁止修改。注意:在AI提供目录框架给我们后,进行局部需求,不要一次性全部生成,因为一次性生成太多因素不可控项目MVC分层结构1.配置流向.env → core/config.py → database.py/cache.py.env 存明文配置config 统一读取解析再给数据库、缓存初始化用避免硬编码密码。2.数据流向models → crud → service → router → schemasORM 模型定义表 → crud 查表 → service 处理业务 → router 接收请求 → schemas 格式化出入参。3.通用能力dependencies.py 全路由共享鉴权、分页等公共逻辑抽离为依赖所有接口按需注入减少重复代码阶段1生成数据库配置数据模型CodeBuddy Craft输入提示词按照标准分层结构先编写database.py数据库连接文件和models下student.py实体模型文件AI自动创建对应目录与代码生成后右键文件运行测试无报错。提示词如下:按照方案B标准分层,先将我的database和model文件配置好我看看AI生成的目录结构如下等待片刻后,就会出现,AI会帮你建好目录结构,并配置好database和model给我们,我们进入database.py,和model目录下的student.py,右键运行测试一下阶段2生成Schema数据校验层 CRUD层提示词编写schemas Pydantic请求响应校验模型、crud数据库操作层代码Schema负责前端入参数据格式、字段类型校验CRUD封装单表基础增删改查SQL操作。等待生成完成后,同样进入schema层和CRUD层文件运行一下看看阶段3生成Service业务层 Router接口层提示词编写Service业务逻辑层实现业务校验缓存和Router路由接口层遵循业务约束新增学号唯一、入学小于毕业时间逻辑删除不可修改学号Service处理业务规则衔接Router和CRUDRouter定义RESTful接口地址新增/查询/修改/逻辑删除。上面配置好后,AI也已经帮你把main.py主文件,config.py配置文件,dependencis.py文件全配置好了,如果没有也可以让他帮忙配置一下,我这边全部给我配置好了六、项目启动与接口调试1. 启动后端服务项目终端执行python main.py项目默认启动地址http://127.0.0.1:8001FastAPI自动生成交互式接口文档http://127.0.0.1:8001/docs注意:可能你们AI生成给你们的是端口号是8000浏览器打开 http://127.0.0.1:8001,在结尾加上/docs就可以进入fastapi的API文档界面2. 接口测试踩坑解决我们就可以测试一下功能了,下面以查询为例500服务器异常AI自动修改了.env库名、config配置内数据库名统一改回test重启服务即可具体流程如下:得到结果是报了个500的错误,我估计是AI把我的数据库改了,我们回到pycharm看看回来发现,果然是AI改了我.env文件里的数据库名称,我把他改回test配置文件里的config.py里的也改回来我把数据库改回我的test,去终端能力按ctrlc结束进程,并python main.py重新运行404未找到数据数据库student空表无数据手动在DB面板新增一条学生数据student_id:1001上面500错误解决后,重新运行,回到浏览器刷新页面后,再随机输入一个学生编号查询看看这次报404代表没找到该数据,我们可以去自己插入一条数据去我们的database那里刷新后进行就可以看到student表格了,进入表格,点号,输入相应的数据当然也可以批量导入数据,这里就不细讲了输入完成后点击提交3. 数据录入后再次在Docs页面调用查询接口正常返回学生JSON数据依次测试新增、编辑、删除全部接口。七、AI一键生成Vue3前端页面1. AI生成前端代码Craft输入提示词基于现有学生管理后端接口生成Vue3ElementPlus前端项目自动配置接口代理转发后端8001端口AI自动在项目根目录生成frontend前端文件夹。2. 前后端分别启动新开两个终端分开运行# 终端1启动后端python main.py# 终端2进入前端目录启动Vue项目#因为前端放在frontend文件里一定要先进入该文件再运行cd./frontendnpmrun dev后端地址127.0.0.1:8001前端访问localhost:3000内置代理自动转发接口请求至后端一定要确保你后端传给前端的端口号一致,比如我的端口号是8001,我AI把前端的接入我后端端口号是8001,让他改好3. 前端功能页面实现学生多条件筛选姓名/性别/班级/学历/顾问、新增学生、编辑信息、逻辑删除学生对接全部后端API。八、项目总结本项目依托FastAPI轻量化框架AI代码助手分层规范开发全栈学生管理系统后端分层DB配置→Model实体→Schema校验→CRUD→Service业务→Router接口AI辅助开发大幅减少重复编码分步生成代码方便排查BUG全栈组成FastAPI后端MySQL数据库Vue3前端可在此基础拓展课程、成绩、用户权限等模块。requirements.txt等项目文件参考链接:链接: https://pan.baidu.com/s/1Ck5WlJ4wO6pgoqOFVxFpsA 提取码: 1234