基于 Flask 框架的学校信息管理系统,技术栈flask+MySQL+boostrap

本系统是一个基于 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 导出),便于教师进行成绩存档、打印或进一步处理。该模块为教学评估提供了数据支撑。

相关推荐
白远山3 小时前
健身场馆无人自动化解决方案:从架构到落地实践
java·开发语言·数据库·数据挖掘·需求分析
虎虎(_ _)。゜zzZ3 小时前
SQLAlchemy入门教程
数据库·后端·python·sql·ai·sqlalchemy
Data_Journal4 小时前
如何将网页抓取用于机器学习
大数据·开发语言·数据库·python·scrapy
Lyra_Infra4 小时前
从 MySQL 到达梦:一次信创隔离环境里的数据库迁移踩坑实录
数据库·后端·mysql
数据工匠老o4 小时前
sysbench/TPC-C/自定义脚本:数据库压测工具对比与实战流程
数据库·测试
数安3000天4 小时前
数据分类分级产品有哪四类技术路线?
大数据·数据库
泡茶喝茶写代码5 小时前
量化数据开发实战系列(第 25 篇):基金基础接口实战:基金列表、ETF-LOF 分类、基金概况、净值数据
java·数据库·人工智能·python·mysql
张小姐的猫5 小时前
【AI大模型接入SDK】 —— 数据管理 & 与Session模块进行联动
数据结构·数据库·c++·人工智能·python·chatgpt
IvorySQL5 小时前
PostgreSQL 日报|大模型破解在线校验和(9 月 15 日)
数据库·人工智能·postgresql
Leon-Ning Liu6 小时前
Oracle 19c ASMB 进程 PGA 内存泄漏排查实战 (Bug 38610635)
数据库·oracle