大家好,我是python222_小锋老师,分享一套优质的基于Python的学生成绩管理系统(flask+Vue3) 。
项目简介
随着高等教育信息化建设的深入推进,传统纸质成绩管理方式已难以满足高校教学管理对效率和准确性的要求。本文针对高校成绩管理的业务需求,设计并实现了一套基于 Python Flask 框架与 Vue3 前端技术的学生成绩管理系统(SAMS,Student Achievement Management System)。
系统采用前后端分离的 B/S 三层架构,后端基于 Flask 3 + SQLAlchemy + PyMySQL,前端基于 Vue 3 + Element Plus + Pinia + Axios,数据库采用 MySQL 8.0(端口 3308)。系统实现了管理员、教师、学生三种用户角色的权限控制,涵盖用户管理、学生管理、教师管理、班级管理、课程管理及成绩录入查询统计六大功能模块。
系统界面美观简洁、操作流程清晰,有效提升了高校成绩管理的工作效率与数据准确性,达到了本科毕业设计的设计要求,具有一定的实用推广价值。
源码下载
链接: pan.baidu.com/s/1fQtagAie…
提取码: 1234
相关截图
核心代码
# ============================================================
# 教师模型
# 对应数据库表 t_teacher,存储教师详细信息
# ============================================================
from extensions import db
class Teacher(db.Model):
"""
教师信息模型
与用户表一对一关联,一名教师可授多门课程
"""
__tablename__ = 't_teacher'
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='主键ID')
teacher_no = db.Column(db.String(20), nullable=False, unique=True, comment='教职工号')
name = db.Column(db.String(50), nullable=False, comment='教师姓名')
gender = db.Column(db.String(5), nullable=False, default='男', comment='性别')
department = db.Column(db.String(100), nullable=False, comment='所属院系')
user_id = db.Column(db.Integer, db.ForeignKey('t_user.id'), nullable=False, unique=True, comment='关联用户ID')
# 关联用户对象(多对一)
user = db.relationship('User', backref=db.backref('teacher', uselist=False))
def to_dict(self):
"""
将教师对象转换为字典,包含用户状态信息
"""
return {
'id': self.id,
'teacher_no': self.teacher_no,
'name': self.name,
'gender': self.gender,
'department': self.department,
'user_id': self.user_id,
'username': self.user.username if self.user else '',
'status': self.user.status if self.user else 1
}