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

相关推荐
这个DBA有点耶12 小时前
从 MySQL 到时序数据库:我帮朋友做迁移的完整记录
数据库·架构·dba
泡海椒12 小时前
深度解析JQuick-SQL AST到逻辑计划转换机制|分布式SQL原理
数据库·分布式·sql
心静财富之门12 小时前
Python 数据共享四种方案完整实例(同进程 / JSON / Redis / HTTP)
数据库·python·oracle
略略略咯咯12 小时前
啊啊啊啊啊
java·服务器·数据库
奇牙coding13 小时前
GPT-5.5 报 401 invalid_api_key 怎么办?换密钥前按 4 层排查请求头、项目权限和端点
数据库·gpt·ios·ai
IvorySQL13 小时前
PostgreSQL 日报| WAL summarizer 断言失败(10 月 26 日)
数据库·postgresql·区块链
这个DBA有点耶14 小时前
2026年国产数据库“实际用户增长最快”核验指南:口径优先级、可查数据与选型动作清单
数据库·mysql·架构
程序员塔塔喵14 小时前
【MySQL篇|第三篇】脏读,幻读,不可重复读
数据库·mysql·不可重复读·幻读·脏读
数据库小学妹14 小时前
OLAP数据库怎么选、怎么优化?路线、提速与边界
运维·数据库·后端
织码weavecodes15 小时前
新闻资讯模块设计:内容发布、阅读计数与附件鉴权
java·服务器·数据库