操作系统:Windows 11
编程语言及版本:Python 3.9.23 包及虚拟环境管理器:Anaconda3
主要依赖包
- Django==4.2.20
- qrcode==8.0
- Pillow==10.4.0
- requests==2.32.3
- pytz==2024.1
数据库:SQLite
其他必要工具
- 微信公众号测试号(关联扫码功能)
- 内网穿透工具(花生壳)
- git 源代码管理
conda install --file requirements.txt
python manage.py migrate
python init_test_data.py
python manage.py runserver- 上述操作只能体现除微信扫码之外的所有功能,如体验完整功能,请移步 文档指引
- 前端按键逻辑完全实现,如点击无响应,可以考虑等待或刷新页面
请查看 Document/ 目录下的详细文档:
测试账号信息
- 管理员账号:admin / 1
- 教师账号:12345 / 1(郑老师)
- 学生账号:23307130001 / 1 (开心)
测试数据内容
- 院系专业:大数据学院-数据科学与大数据技术、数学科学学院-应用数学
- 课程信息:数据库及实现(10名同学选课)、最优化方法(5名同学选课)
- 学生数据:10名学生(仅开心有登录账号)
- 考勤事件:已创建6次课程安排与相应考勤记录(若有)
- 请假记录:初始为空
学生选课情况
| 学号 | 姓名 | 性别 | 专业 | 数据库及实现 | 最优化方法 |
|---|---|---|---|---|---|
| 23307130001 | 开心 | 男 | 数据科学与大数据技术 | ✓ | ✗ |
| 23307130002 | 勇敢 | 女 | 数据科学与大数据技术 | ✓ | ✓ |
| 23307130003 | 自信 | 男 | 数据科学与大数据技术 | ✓ | ✓ |
| 23307130004 | 坚强 | 女 | 数据科学与大数据技术 | ✓ | ✓ |
| 23307130005 | 美丽 | 男 | 数据科学与大数据技术 | ✓ | ✓ |
| 23307130006 | 智慧 | 女 | 数据科学与大数据技术 | ✓ | ✓ |
| 23307130007 | 努力 | 男 | 数据科学与大数据技术 | ✓ | ✗ |
| 23307130008 | 温暖 | 女 | 数据科学与大数据技术 | ✓ | ✗ |
| 23307130009 | 光明 | 男 | 数据科学与大数据技术 | ✓ | ✗ |
| 23307130010 | 希望 | 女 | 数据科学与大数据技术 | ✓ | ✗ |
WeChat_QR_Scanning_Attendance_System/
├── attendance/ # 主应用模块
│ ├── migrations/ # 数据库迁移文件
│ ├── models.py # 数据模型定义
│ ├── services/
│ │ └── wechat_service.py
│ ├── templates/ ### 网页
│ │ ├── admin/ # 管理员页面模板
│ │ ├── student/ # 学生页面模板
│ │ ├── teacher/ # 教师页面模板
│ │ ├── base.html # 基础模板
│ │ ├── index.html # 首页模板
│ │ └── login.html # 登录页面模板
│ ├── templatetags/
│ │ └── attendance_filters.py # 时间转换过滤器
│ ├── views/ ### 视图
│ │ ├── admin_views.py # 管理员视图
│ │ ├── student_views.py # 学生视图
│ │ ├── teacher_views.py # 教师视图
│ │ ├── wechat_views.py # 微信相关
│ │ └── wechat_notify.py
│ ├── urls.py
│ └── utils.py
├── attendance_system/ # Django项目配置
│ ├── settings.py # 主配置文件
│ ├── urls.py # URL配置
│ ├── asgi.py
│ └── wsgi.py
├── Document/ ### 项目文档
│ ├── source/
│ ├── 安装部署文档.pdf
│ ├── 数据库设计文档.pdf
│ └── 用户手册.pdf
├── tests/ ### 测试与导入数据
│ ├── test_data_initialization.py # 测试数据初始化
│ └── test_utilities.py # 测试工具函数
├── init_test_data.py # 测试数据导入脚本
├── setup_wechat_demo.py # 微信功能配置脚本
├── manage.py # Django管理脚本
├── requirements.txt # 项目依赖
└── README.md # 项目说明