这个项目解决什么问题
学业预警的真实痛点不是"算出谁挂科"——那是 Excel 就能干的事。真正的难点是:规则会变、数据靠导入、学生要知情。本项目把这三件事都做进了系统:预警阈值不写死、Excel 一键批量导入、触发预警自动通知学生本人。它是少数能把"业务自动化闭环"讲完整的毕设选题。
核心亮点
- 可配置预警规则引擎:挂科门数、GPA 线等阈值全部存数据库,管理员可在线调整——下学期政策变了不用改一行代码。规则引擎的"配置化"思路,是本项目最值得课程汇报时展开的部分。
- 退步型预警:本学期 GPA 比上学期降幅超过 0.5 也触发预警。系统关注的不是"已经挂科",而是"正在下滑"——比传统的事后报警更早发现问题,这一条足以在课程汇报中讲出一个完整的故事。
- Excel 批量导入:pandas 解析 + 失败行明细反馈 + 增量覆盖,导入完成自动触发预警重算并通过站内信通知相关学生。一条链路走完,人工干预为零。
- 三角色权限隔离:管理员管全局、教师管自己的课、学生只能看到自己的成绩和预警。权限边界怎么划、越权访问怎么防,代码里都有交代。
- 成绩多维分析:GPA 4.0 制加权、班级排名、班级对比雷达图、各科及格率柱线图,分析页信息密度拉满。
- 一键演示数据:Faker 生成 5 个班级 200 名学生 3200 条成绩,
init_data跑完系统立刻"活"起来。
效果预览
成绩分析页——各科平均分/及格率、GPA 分布直方图、班级对比雷达图,成绩全貌一图看清:

预警名单——红色/黄色预警分色展示,触发原因与命中规则一目了然:

Excel 批量导入页——模板格式说明与历史导入日志,失败行有明细反馈:

你将学到
- 多角色权限系统的设计模式(角色、隔离、越权防护)
- Excel 导入导出的工程实践:模板、校验、失败反馈缺一不可
- 复杂聚合查询:GPA 加权、排名计算、跨学期对比
- 规则引擎思想:把业务规则从代码里抽出来变成数据
- 业务自动化闭环:导入 → 计算 → 预警 → 通知,全链路自动衔接
适合谁
需要一个"业务逻辑扎实、课程汇报有话讲"的管理类 Web 毕设的学生——它不靠界面炫技,靠的是规则引擎和自动化闭环这些"内功"。难度 ★★★,适合已掌握 Django 基础、想挑战业务设计的学习者。
交付内容:完整可运行源码、README.md(逐步运行方法与实现说明)、requirements.txt。
许可:个人使用,可用于自己的学习、课程实验与研究报告,请勿转售或公开传播。