littlebot
Published on 2025-04-16 / 4 Visits
0

【源码】基于Python Flask框架的智慧考勤管理系统

项目简介

本项目借助Python Flask框架搭建智慧考勤管理系统。通过人脸识别与定位技术,并结合数据库管理,实现员工考勤的自动化管理和数据分析。项目包含前端Web界面和后端服务,后端运用Flask框架、SQLAlchemy ORM、MTCNN人脸检测、FaceNet人脸识别等技术,能够自动采集、存储、查询和分析考勤数据。

项目的主要特性和功能

  1. 人脸识别考勤:利用人脸识别技术自动管理员工考勤,减少人工操作,提高考勤数据的准确性和效率。
  2. 数据存储与查询:使用SQLAlchemy ORM进行数据库管理,方便存储和查询员工考勤数据。
  3. 数据分析:对考勤数据进行查询和分析,为管理者提供决策支持,如员工出勤率统计、缺勤分析等。
  4. 权限管理:具备用户角色和权限管理功能,保障数据的安全性和保密性。
  5. API接口:提供API接口,便于前端Web界面与后端服务交互,实现数据实时更新和查询。

安装使用步骤

基本环境要求

  • Linux:Ubuntu 20.04 64位
  • Python:Python 3.8.10
  • MySQL:8.0.32 - 0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

安装依赖

  • 激活虚拟环境(可选): ``` sudo pip install virtualenv sudo pip install virtualenvwrapper

virtualenv -p python3 xxxxx(虚拟环境名字)

source (目录)/xxxxx/bin/activate

deactivate `` - 安装本地requirement文件: - 激活环境 - 终端命令pip install -r (路径) /requirements.txt- 全局环境安装requirement文件:终端命令pip install -r (路径) /requirements.txt`

模型下载与配置

  1. 模型下载:
    • 国内:链接:https://pan.baidu.com/s/1PROYJ0o7Lco3uFcdUBEONw?pwd=7cgk 提取码:7cgk
    • 国际:https://drive.google.com/file/d/1kdeI8wkH6UfpznlIvIpjaixfbE2WQhSV/view?usp=share_link 将AI模型文件 model_resnet34_triplet.pt 放入 AI_model\facenet\weights 文件夹下。
  2. config文件自定义:
    • 在appID、appSecret、template_id更换微信小程序开发者相关的信息。
    • 修改数据库配置:
      • HostName:主机名,若数据库在本机则默认localhost,若为远程数据库,需变更为主机公网ip。
      • Port:默认3306端口,指链接数据库端口。
      • UserName:连接数据库用户名,默认root。
      • Password:连接数据库密码。
      • DataBase:连接的数据库。

运行配置

  • app文件运行配置 app.run(host='0.0.0.0', port=5002, debug=True)
  • 本地运行,请修改host为本机地址或127.0.0.1。
  • 远程服务器默认使用0.0.0.0,达到公网访问的目的。
  • 公网访问port需开启5002端口。
  • debug=True开启热更新模式。

生产环境部署

1、nginx配置

  • 安装nginx。
  • 对nginx进行配置,配置文件一般在/etc/nginx/sites-available/default
  • 先对原文件进行备份,终端执行 cp /etc/nginx/sites-available/default default.bak
  • 再修改,终端执行 sudo vi /etc/nginx/sites-available/default。 其中 /home/project/dist 为项目vue3构建的网页目录,配置示例如下: ``` server { listen 80 default_server; listen [::]:80 default_server;

    root /home/project/dist;

    index index.html index.htm index.nginx-debian.html;

    server_name 101.132.152.202; }
    ```

2、gunicorn配置

  • 安装gunicorn:
  • 在全局环境下,在Flask根目录执行命令:gunicorn -w 2 -b 0.0.0.0:5002 app:app
  • 在虚拟环境下,激活虚拟环境在Flask根目录执行命令:(虚拟环境目录)/bin/gunicorn -w 2 -b 0.0.0.0:5002 app:app
  • 为gunicorn启动全局自启动服务: 创建 "/etc/systemd/system/gunicorn.service",内容如下: ``` [Unit] Description=gunicorn for vue3 After=network.target

[Service] User=root WorkingDirectory=/home/project/flask ExecStart=gunicorn -w 2 -b 0.0.0.0:5002 app:app Restart=on-failure

[Install] WantedBy=multi-user.target 终端执行以下命令: sudo systemctl daemon-reload sudo systemctl start gunicorn.service sudo systemctl status gunicorn.service sudo systemctl enable gunicorn.service `` 若部署成功,网页输入http://` 自己的服务器ip ,将会重定位到登录页面。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】