基于PythonDjango的人脸识别上课考勤系统(附源码,部署)
- IT业界
- 2025-09-18 23:54:02

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
Python项目实战《100套》
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
引言Hello,大家好,这里是程序员徐师兄!今天带大家来搞点硬核的东西——基于 Python Django 开发一个人脸识别考勤系统。这个系统主要应用于学校课堂或者公司签到场景,利用 OpenCV 和 dlib 进行人脸检测,再结合 Django + MySQL 实现考勤数据管理。
咱们这篇文章会从 环境搭建、数据库设计、人脸识别、考勤逻辑、前端展示 这些方面详细拆解,让你一次学个透!
基于 Python Django的人脸识别上课考勤系统
技术选型咱们这个项目主要使用以下技术栈:
后端:Python 3.8 + Django 4.x人脸识别:OpenCV + dlib数据库:MySQL前端:LayUI + jQuery硬件:USB 摄像头 环境搭建 安装 Python(Windows / Mac / Linux 均可)安装依赖库 pip install django opencv-python dlib mysqlclient 创建 Django 项目 django-admin startproject attendance_system cd attendance_system python manage.py startapp face_attendance 配置 MySQL 连接(settings.py) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'attendance_db', 'USER': 'root', 'PASSWORD': '123456', 'HOST': 'localhost', 'PORT': '3306', } } 数据库设计 from django.db import models class Student(models.Model): name = models.CharField(max_length=100) face_encoding = models.BinaryField() # 存储人脸特征 class AttendanceRecord(models.Model): student = models.ForeignKey(Student, on_delete=models.CASCADE) check_in_time = models.DateTimeField(auto_now_add=True) 人脸识别模块 import dlib import cv2 # 初始化人脸检测器 face_detector = dlib.get_frontal_face_detector() face_recognition_model = dlib.face_recognition_model_v1("dlib_face_recognition_resnet_model_v1.dat") cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() if not ret: break faces = face_detector(frame, 1) for face in faces: face_encoding = face_recognition_model pute_face_descriptor(frame, face) # 在数据库中匹配该 face_encoding cv2.imshow("Face Recognition", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() 考勤逻辑 from .models import Student, AttendanceRecord from datetime import datetime def record_attendance(student_id): student = Student.objects.get(id=student_id) record = AttendanceRecord(student=student, check_in_time=datetime.now()) record.save() 前端界面 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>考勤系统</title> <link rel="stylesheet" href=" cdn.staticfile.org/layui/2.5.7/css/layui.css"> </head> <body> <table class="layui-hide" id="attendanceTable" lay-filter="attendanceTable"></table> <script src=" cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script> <script src=" cdn.staticfile.org/layui/2.5.7/layui.js"></script> <script> layui.use('table', function(){ var table = layui.table; table.render({ elem: '#attendanceTable', url: '/attendance/data/', cols: [[ {field: 'name', title: '姓名'}, {field: 'check_in_time', title: '签到时间'} ]] }); }); </script> </body> </html> 结语这样,一个完整的 基于 Python Django 的人脸识别考勤系统 就完成了!
你学到了什么?
如何使用 OpenCV + dlib 进行人脸识别如何用 Django 设计数据库和实现考勤逻辑如何用 LayUI 搭建简洁高效的前端界面 源码获取:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
Python项目实战《100套》
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
基于PythonDjango的人脸识别上课考勤系统(附源码,部署)由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“基于PythonDjango的人脸识别上课考勤系统(附源码,部署)”