本系统是一个基于 Flask 框架的学校信息管理系统(Beta 版),采用 SQLite 数据库,主要面向学生信息、课程成绩及用户权限的管理。系统功能可归纳为以下四个核心模块:
功能点 1:用户认证与密码管理
系统提供登录和密码修改功能。用户通过学号(ID)和密码登录,密码采用 MD5 加密存储,确保安全性。登录时,后端查询 user 表验证身份,若成功则跳转至主页,否则返回错误提示。密码修改页面要求用户输入原密码、新密码及确认密码,若两次新密码一致且原密码正确,则更新密码并跳转回登录页。该模块保障了系统访问的合法性与用户账户的自主管理。
功能点 2:学生信息管理(增删改查)
系统支持对学生基本信息的完整 CRUD 操作。
添加:通过 /addUser 页面填写学号、姓名、院系、身份证号、性别,提交后自动向 userinfo 表插入记录,同时向 user 表插入默认密码(学号 MD5 值)并赋予"学生"角色。
查看:/listuserinfo 展示所有学生列表,每行提供"详情"链接,可跳转至单条信息编辑页面。
更新:在详情页面修改信息后提交,更新 userinfo 表中对应字段。
删除:列表页提供"删除"按钮,确认后同步删除 userinfo、course 和 user 三张表中的相关记录,实现账号与数据的彻底清除。
该模块涵盖了学生档案的全生命周期管理。
功能点 3:课程管理(选课、退课、删除课程)
系统允许为每位学生添加课程成绩记录,并支持多维度的课程操作。
添加课程:通过 /addcoursepage 填写学生 ID、课程编号、课程名、教师名、分数,插入 course 表,关联学生与课程。
查看所有课程:/listcourse 以左连接方式展示学生信息与课程信息的联合视图,清晰呈现每个学生的选课明细。
退课:针对某学生的特定课程记录,提供"退课"链接,删除该学生的该条选课记录。
删除课程:针对某门课程(按课程编号),提供"删除课程"链接,不仅删除该课程的所有选课记录,也一并清除所有学生对应的该课程成绩,实现课程层面的批量清理。
功能点 4:成绩统计分析与数据导出
系统提供成绩分析页面 /analize,通过 SQL 聚合查询计算每位学生(仅角色为"学生")的总分、选课门数、平均分,并按平均分降序排列,生成直观的成绩排名表。页面内置 JavaScript 导出功能,可将排名表格一键导出为 Excel 文件(支持多 Sheet 导出),便于教师进行成绩存档、打印或进一步处理。该模块为教学评估提供了数据支撑。
