# 2026project **Repository Path**: ling-linghan/2026project ## Basic Information - **Project Name**: 2026project - **Description**: 2026小学期 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-05 - **Last Updated**: 2026-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于Django开发学生管理系统 本项目严格按照《基于Django开发学生管理系统项目操作说明书》的步骤实现,包含: ## 目录结构 ``` student_system/ ├── requirements.txt └── stu_project/ ├── manage.py ├── config/ # 主配置目录(原 stu_project 重命名而来) │ ├── __init__.py # pymysql 适配 MySQLdb │ ├── settings.py │ ├── urls.py │ ├── wsgi.py │ └── asgi.py ├── teacher/ # 老师应用(models.py / admin.py) ├── student/ # 学生应用(models.py / admin.py / views.py / forms.py) ├── score/ # 成绩应用(models.py / admin.py) ├── uploadfile/ # 上传文件应用(models.py / admin.py,Excel批量导入) ├── utils/ │ └── base_models.py # 公共父类 CreateUpdateMixin(status/created_at/updated_at) ├── static/ # 静态资源 ├── templates/ # 前台模板(login/index/score/changepwd/about/contact) └── uploads/ # 上传文件存放目录 ``` ## 功能实现对照文档需求 - ✅ 环境搭建:虚拟环境 + Django + MySQL 驱动(pymysql) - ✅ 目录结构改造:stu_project → config - ✅ 4 个业务应用:teacher / student / score / uploadfile,均已注册到 INSTALLED_APPS - ✅ MySQL 数据库配置(settings.py DATABASES,需自行修改密码) - ✅ 静态/模板/上传/工具 四个文件夹 - ✅ 数据模型:老师-学生一对多、学生-成绩一对多、上传文件-老师一对多,公共字段抽取为 CreateUpdateMixin - ✅ 后台 Admin: - 老师后台:新增老师自动创建 auth_user 账号(邮箱为用户名),删除老师级联删除账号 - 学生后台:新增学生自动创建 auth_user 账号(学号为用户名),非超管老师只能看到/添加自己名下的学生 - 成绩后台:老师只能看到自己学生的成绩 - 上传文件后台:老师上传 Excel,自动批量导入学生/成绩,自动去重、自动创建账号,并提示"过滤 X 条重复数据" - 权限组:可在后台"认证和授权"里创建"老师"组,分配学生/成绩/文件管理权限 - ✅ 前台网站:index 首页(学生查看成绩)、login(学号+密码登录)、logout、changepwd(改密码)、score(成绩详情)、about、contact ## 运行步骤(与说明书一致) ```bash # 1. 创建虚拟环境并安装依赖 python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt # 2. 在 MySQL 中创建数据库 mysql -u root -p CREATE DATABASE student_system; # 3. 修改 config/settings.py 中的数据库账号密码 # 4. 生成迁移并建表 cd stu_project python manage.py makemigrations python manage.py migrate # 5. 创建超级管理员 python manage.py createsuperuser # 6. 启动项目 python manage.py runserver ``` 浏览器访问: - 后台管理:http://127.0.0.1:8000/admin - 前台网站:http://127.0.0.1:8000/ ## Excel 批量导入格式 **学生信息**(file_type=1),第一行为表头,从第二行开始: | 学号 | 姓名 | 性别 | 手机号 | 出生日期 | |---|---|---|---|---| | 2024001 | 张三 | 男 | 13800000000 | 2005-01-01 | **成绩信息**(file_type=2): | 学号 | 考试名称 | 分数 | |---|---|---| | 2024001 | 期中考试 | 88.5 | ## 已在本地验证(sqlite3 临时替代 MySQL 仅用于测试,正式提交版本已改回 MySQL 配置) - `python manage.py check` 无报错 - `makemigrations` / `migrate` 成功建表(10张系统表 + 4张业务表,共14张) - 老师/学生/成绩创建流程、级联绑定、学生登录鉴权均测试通过 - Excel 批量导入学生:新增与去重逻辑测试通过 - 后台首页可见"老师信息、学生信息、成绩信息、上传文件、认证和授权"五大模块