当前位置: 首页 > news >正文

【从0到1实战FastAPI+AI开发学生信息管理系统(FastAPI+MySQL+Vue3)】

从0到1实战FastAPI+AI开发学生信息管理系统(FastAPI+MySQL+Vue3)

前言

FastAPI凭借轻量高性能、原生数据校验、自动接口文档、异步编程、依赖注入等优势,是目前Python后端接口首选开发框架。本文借助PyCharm+腾讯CodeBuddy AI插件,从零搭建学生信息管理全栈项目,后端FastAPI+SQLAlchemy+MySQL,前端Vue3+ElementPlus,全程AI辅助生成代码,新手可跟着落地实操。

一、开发环境准备

1. 开发工具

IDE选用PyCharm(VS Code也可通用),数据库采用MySQL 8.0+/9.x版本。

2. Python环境配置

  1. 新建Python项目,可选系统Python3.13或Conda虚拟环境、项目内置venv虚拟环境;
    保证有解析器

  2. 在项目根目录新建requirements.txt依赖清单,终端使用清华镜像一键安装依赖:

  3. 文章结尾我会提供依赖环境配置文件requirements.txt的下载链接,当然也可以自己配.

# 清华源加速安装依赖pipinstall-rrequirements.txt-ihttps://pypi.tuna.tsinghua.edu.cn/simple

不指定镜像源会默认使用国外源,下载速度缓慢。
pip install -r requirements.txt

核心依赖清单(requirements.txt)
fastapi==0.136.1 uvicorn anyio==4.13.0 sqlalchemy pydantic python-dotenv httpx......

二、安装AI编程插件CodeBuddy

借助AI自动生成分层代码,大幅减少手写工作量:

  1. PyCharm顶部【文件→设置→Plugins(插件)】,Marketplace搜索Tencent Cloud CodeBuddy,可顺带安装Qoder CN;

  2. 安装完成重启IDE,浏览器登录CodeBuddy账号,平台每月免费Token额度满足小型项目开发;

  3. 扫码登录后,切换插件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. 创建业务数据库

  1. CMD命令行登录MySQL:
mysql-uroot-p
  1. 执行SQL创建项目数据库:
CREATEDATABASEtest;


3. 项目根目录新建.env环境配置文件,写入数据库连接信息:

DB_USER=root DB_PASSWORD=你的数据库密码 DB_HOST=localhost DB_PORT=3306 DB_NAME=test


3. 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 → schemas
ORM 模型定义表 → 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和CRUD;
  • Router:定义RESTful接口地址(新增/查询/修改/逻辑删除)。

上面配置好后,AI也已经帮你把main.py主文件,config.py配置文件,dependencis.py文件全配置好了,如果没有也可以让他帮忙配置一下,我这边全部给我配置好了

六、项目启动与接口调试

1. 启动后端服务

项目终端执行:

python main.py

项目默认启动地址:http://127.0.0.1:8001
FastAPI自动生成交互式接口文档:http://127.0.0.1:8001/docs
注意:可能你们AI生成给你们的是端口号是8000

浏览器打开 http://127.0.0.1:8001,在结尾加上/docs就可以进入fastapi的API文档界面

2. 接口测试踩坑&解决

我们就可以测试一下功能了,下面以查询为例

  1. 500服务器异常:AI自动修改了.env库名、config配置内数据库名,统一改回test,重启服务即可;
    具体流程如下:

    得到结果是报了个500的错误,我估计是AI把我的数据库改了,我们回到pycharm看看

    回来发现,果然是AI改了我.env文件里的数据库名称,我把他改回test

    配置文件里的config.py里的也改回来

    我把数据库改回我的test,去终端能力按ctrl+c结束进程,并python main.py重新运行

  2. 404未找到数据:数据库student空表无数据,手动在DB面板新增一条学生数据(student_id:1001);
    上面500错误解决后,重新运行,回到浏览器刷新页面后,再随机输入一个学生编号查询看看

    这次报404代表没找到该数据,
    我们可以去自己插入一条数据


去我们的database那里刷新后进行就可以看到student表格了,进入表格,点+号,输入相应的数据
当然也可以批量导入数据,这里就不细讲了

输入完成后点击提交

3. 数据录入后再次在Docs页面调用查询接口,正常返回学生JSON数据,依次测试新增、编辑、删除全部接口。

七、AI一键生成Vue3前端页面

1. AI生成前端代码

Craft输入提示词:

基于现有学生管理后端接口,生成Vue3+ElementPlus前端项目,自动配置接口代理转发后端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代码助手,分层规范开发全栈学生管理系统:

  1. 后端分层:DB配置→Model实体→Schema校验→CRUD→Service业务→Router接口;
  2. AI辅助开发大幅减少重复编码,分步生成代码方便排查BUG;
  3. 全栈组成:FastAPI后端+MySQL数据库+Vue3前端,可在此基础拓展课程、成绩、用户权限等模块。
    requirements.txt等项目文件参考链接:
    链接: https://pan.baidu.com/s/1Ck5WlJ4wO6pgoqOFVxFpsA 提取码: 1234
http://www.jsqmd.com/news/952849/

相关文章:

  • 告别Keil MDK:在Win10上用VSCode + CMake + GCC编译STM32G0项目(附完整CMakeLists.txt)
  • 从零搭建Python数据分析环境:手把手教你用Jupyter Notebook仪表盘管理你的第一个项目
  • 2026年5月口才学习品牌推荐,成人口才培训/当众讲话培训/口才学习/演讲培训/成人口才学习,口才学习品牌推荐分析 - 品牌推荐师
  • 计算机毕业设计之基于Hive的电影推荐系统的设计与实现
  • 别再只会调电阻了!深入555多谐振荡器公式,精准控制你的流水灯闪烁频率
  • 从信息论到特征工程:如何用k-近邻互信息为你的模型挑选‘黄金搭档’特征?
  • 数据侦查思维:用福尔摩斯方法论做现场勘查式分析
  • 2026年推荐几家面条机/玉米面条机用户口碑推荐厂家 - 行业平台推荐
  • 出口孟加拉务必留意信用证隐患,7万美金订单险些遭遇资金损失
  • ZYNQ7000项目实战:用AXI GPIO扩展PS端IO,告别EMIO的繁琐配置
  • 企业AI开发工具身份集成实践与安全架构设计
  • 告别CAN总线!手把手教你用Wireshark抓包分析DoIP诊断协议(ISO 13400实战)
  • ORBSLAM3 VIO精度评估实战:用KITTI数据集和evo工具完整走一遍
  • 2026年靠谱的九江工厂短视频拍摄/九江短视频/九江本地短视频线索投放热门公司推荐 - 行业平台推荐
  • 3步掌握LaTeX2Word-Equation:学术写作效率提升50%
  • 别再被CUDNN_STATUS_NOT_INITIALIZED搞懵了!手把手教你排查PyTorch+CUDA环境(附版本对照表)
  • STM32F401CC与CEU6傻傻分不清?一次搞懂MicroPython固件兼容性与硬件选型要点
  • 别再死记硬背了!用一张时序图彻底搞懂Setup和Hold的检查逻辑
  • WRF模式新手必看:从namelist.wps参数详解到网格嵌套设计实战(以一次模拟为例)
  • 保姆级教程:手把手教你用ORBSLAM3-VIO跑通KITTI数据集(含IMU参数配置与数据对齐)
  • 2026年推荐几家冷面机/面条切割机生产厂家推荐 - 品牌宣传支持者
  • web应用技术03-JDBC数据库操作
  • 2026年评价高的内蒙古残疾人劳务派遣/内蒙古劳务派遣哪家值得选 - 品牌宣传支持者
  • Redis 分布式锁进阶第七十1篇
  • 别再Ctrl+F了!用VLookup函数5分钟搞定Excel跨表数据匹配(附常见错误排查)
  • 如何快速提取Wallpaper Engine资源:RePKG完整工具使用指南
  • 入驻孟加拉难点梳理,详解各类市场准入限制条件
  • 从玩具四轴到工业电调:手把手拆解无刷电机六步换向,搞懂两两与三三导通对性能的实际影响
  • 2026年推荐黑龙江风口/黑龙江正压送风口推荐厂家精选 - 行业平台推荐
  • CodeRabbit 基于 Claude 构建的智能体编排系统