Python+Django人脸识别考勤系统网站

news2024/11/27 12:53:55

 程序示例精选

Python+Django人脸识别考勤系统网站

如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对<<Python+Django人脸识别考勤系统网站>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

一、所需工具软件

二、使用步骤

        1. 引入库

        2. 代码实现

        3. 运行结果

三、在线协助

一、所需工具软件

1. Python,Pycharm

2. Django

二、使用步骤

1.引入库

<html>
<head>
<meta charset="utf-8">
<meta content="width=device-width,user-scalable=no" name="viewport">
<title>login</title>
<style type="text/css">

    #box4{
        background-color: #5ACCC9;
        width: 500px;
        height: 50px;
        margin:auto ;
        float: left;
        position:absolute;
        top: -290;
        left: 0;
        right: 0;
        bottom: 0;
        border-style:none;
        border-radius: 5px;

    }

    #box1{
        background-color: #8C7EF3;
        width: 500px;
        height: 300px;
        margin:auto ;
        float: inline;
        position:relative;
        top: 10px;
        left: 0;
        right: 0;
        bottom: 0;
        border-style:none;
        border-radius: 5px;

    }
    .p1{
        color: black;
        font-size: 20px;
        margin-left:20px;
        margin-top: 25px;
        font-family: microsoft yahei;
        font-weight: normal;
        text-align: left;
        line-height:23px;
        position: center;

    }

    #box2{
        background-color: #8C7EF3;
        width: 120px;
        height: 250px;
        margin-top:20px;
        margin-left:70px;
        float: left;
        text-align: center;
        position:static;
    }

    #box3{
        background-color: #8C7EF3;
        width: 230px;
        height: 250px;
        margin-top:20px;
        float: left;
        text-align: center;
        position:static;
    }


    #input0{
        width: 200px;
        height: 30px;
        margin-top:20px;
    }

    #input1{
        width: 100px;
        height: 50px;
        margin: 20px;
        font-family: microsoft yahei;
        font-weight: normal;
        font-size: 16px;
    }

    #input2{
        width: 130px;
        height: 50px;
        margin: 0px;
        font-family: microsoft yahei;
        font-weight: normal;
        font-size: 16px;
        float: left;
        border-width: 0px;
        border-radius: 3px;
    }

    #pgheader1{
        background: rgb(51,51,51);
        width: 100%;
        min-width: 960px;
        height: 35px;
        margin: 0px auto;
        width: 100%;
        position: relative;z-index:5;
        border-color: rgb(255, 255, 255);
        border-width: 0px;
        border-style: solid;
        }
    #pgheader2{
        padding-top: 10px;
        padding-right: 0px;
        display: inline-block;
        z-index: 1000;
        color: rgb(255,255,255);
        font-size:15px;

    }

</style>

</head>

2. 代码实现

代码如下:

<body style="background-color: #5ACCC9;">
    <div class="rowright" >
        <a class="box" href="/accounts/logout/">注销</a>
        <a class="box" href="/accounts/login/">登录</a>
    </div>

    <div  style="width:100%;text-align: center;">
            <DIV ID="pgheader1";><a ID="pgheader2" >XXX管理网站</a></DIV>
            <div>
                <h1 style="font-family:'Microsoft YaHei';font-size:30px";>人脸识别考勤管理系统</h1>
            </div>
    </div>


    <div class="row">
        <div class="row">
            <!-- Add id to image -->
            <div class="box" style="background-color: #896bda;height:400px;">
                <img id="image" src="" alt="" width="300" height="300"/>
            </div>
            <!-- 按钮1 -->
<!--            <div class="box" >-->
<!--                <button type="button" onclick="show()" id="input1">打开视频窗口</button>-->
<!--            </div>-->
        </div>

        <div class="row">
            <div class="container">
                <!--修改文章 -->
                <form style="margin-top: 7.2px;width: 250px;height: 370px" action="" method="post" enctype="multipart/form-data">
                    {% csrf_token %}
                    <div align="center">
                        <div ><label>编号:</label><input type="text" name="idnumberWeb" ></div>
                        <div><label>英文名:</label><input type="text" name="nameWeb" ></div>
                        <div><label>中文名:</label><input type="text" name="chinese_nameWeb" ></div>
                    </div>

                    <select name="app" style="width:100px;height:43px;">
                        <option value="selectItem" style="text-align: center; ">选择功能</option>
                        <option value="gatherF" style="text-align: center; ">gatherF</option>
                    </select>
                    <input type="submit" value="&nbsp&nbsp录入人脸&nbsp&nbsp">
                </form>
                <!--修改文章结束 -->
            </div>


            <div>
                <div class="container" style="text-align: center; " >
                    <!--显示文章 -->
                    <form style="margin-top: 10px;width: 150px" action="" method="post" enctype="multipart/form-data">
                        {% csrf_token %}
                        <input type="text" name="itemWeb" hidden value="initM">
                        <input type="submit" value="初始化模型">
                    </form>
                    <!--显示文章结束 -->
                </div>

                <div class="container" style="text-align: center; " >
                    <!--显示文章 -->
                    <form style="margin-top: 10px;width: 150px" action="" method="post" enctype="multipart/form-data">
                        {% csrf_token %}
                        <input type="text" name="itemWeb" hidden value="stopM">
                        <input type="submit" value="&nbsp&nbsp停止模型&nbsp&nbsp">
                    </form>
                    <!--显示文章结束 -->
                </div>


                <div class="container" style="text-align: center;">
                    <!--显示文章 -->
                    <form style="margin-top: 10px;width: 150px;" action="" method="post" enctype="multipart/form-data">
                        {% csrf_token %}
                        <input type="text" name="idnumberCourseWeb" value="输入课程编号" style="width:120px;"><br>
                        <input type="text" name="itemWeb" hidden value="recognF">
                        <input type="submit"  value="&nbsp&nbsp识别人脸&nbsp&nbsp">
                    </form>
                    <!--显示文章结束 -->
                </div>


                <div class="container" style="text-align: center; ">
                    <!--显示文章 -->
                    <form style="margin-top: 10px;width: 150px" action="" method="post" enctype="multipart/form-data">
                        {% csrf_token %}
                        <input type="text" name="itemWeb" hidden value="trainF">
                        <input type="submit" value="&nbsp&nbsp训练人脸&nbsp&nbsp">
                    </form>
                    <!--显示文章结束 -->
                </div>
            </div>
        </div>




    </div>

    <div id="divT" style="background-color: #0d95e8;width: 835px;height: 100px;border-radius: 5px;margin: 20px auto;font-size: 36px;font-family: 'Microsoft YaHei'; display: flex;align-items: center;justify-content: center; "></div>


<!--    <div class="row">-->
<!--        <form action="" method="post" enctype="multipart/form-data" style="background-color: #86cfda;height:120px;width: 790px;display: flex;">-->
<!--            {% csrf_token %}-->
<!--            <div class="box" style="background-color: #896bda;height:100px;width: 900px;display: inline-block;">-->
<!--                <input type="text" name="checkCoursePlan" hidden value="checkCoursePlan">-->
<!--                <input type="text" id="showPlan"  style="height: 90px">-->
<!--            </div>-->
<!--            <div class="box"  style="width: 180px">-->
<!--                <input type="submit" value="查看课程计划" id="input1" style=";width:150px ">-->
<!--            </div>-->
<!--        </form>-->
<!--    </div>-->


<style>
  table {
    width: 100%;
    max-width: 830px;
    border-collapse: collapse;
  }
  th, td {
    padding: 0.5em 1em;
    text-align: center;
    border: 1px solid #ccc;
  }
  th {
    background-color: #eee;
    font-weight: bold;
    text-align: center;
  }
</style>

<div style="width: 100%; display: flex; justify-content: center;">
  <table style="margin: auto;">
    <thead>
      <tr>
        <th>课程编号</th>
        <th>名称</th>
        <th>教师姓名</th>
        <th>开始时间</th>
        <th>结束时间</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        {% for field in BookRoomT %}
            <tr>
                <td>{{ field.id }}</a></td>
                <td>{{ field.course }}</td>
                <td>{{ field.chinese_name }}</td>
                <td>{{ field.start_time }}</td>
                <td>{{ field.close_time }}</td>
            </tr>
        {% endfor %}
      </tr>
    </tbody>
  </table>
</div>




{% if messages %}
<script>
    {% for msg in messages %}
        alert('{{ msg.message }}');
    {% endfor %}
</script>
{% endif %}

<script type="text/javascript">
    var gatherT = "{{gatherT}}"
    const intervalId = setInterval(function() {
        console.log("gatherT:",gatherT)
        if (gatherT === "采集结束") {
            var image = document.getElementById("divT");
            divT.innerHTML = "采集结束";
            clearInterval(intervalId);
        }
    }, 1000);
</script>

<script type="text/javascript">
    var trainT = "{{trainT}}"
    const intervalId2 = setInterval(function() {
        console.log("trainT:",trainT)
        if (trainT === "训练结束") {
            var image = document.getElementById("divT");
            divT.innerHTML = "训练结束";
            clearInterval(intervalId2);
        }
    }, 1000);
</script>

<script type="text/javascript">
    var stringT2 = "{{stringT2}}"
    var chinese_name = "{{chinese_nameT}}"
    var idnumberNum = "{{idnumberNumT}}"
    const intervalId3 = setInterval(function() {

        console.log("stringT2:",stringT2)
        if (stringT2 === "识别成功") {
            var image = document.getElementById("divT");
            divT.innerHTML = "姓名:" + chinese_name + "编号:"+ idnumberNum + "  "+"识别成功";
            clearInterval(intervalId3);
        }
    }, 1000);
</script>

<!--<script>-->
<!--    var coursePlanT = "{{coursePlanT}}"-->
<!--    setInterval(function() {-->
<!--        // var stringT1 = "{{stringT1}}"-->
<!--        console.log("coursePlanT:",coursePlanT)-->
<!--        var showPlanT = document.getElementById("showPlan");-->
<!--        showPlanT.value +=coursePlanT;-->
<!--    }, 1000);-->
<!--</script>-->


</body>
</html>

3. 运行结果

 

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Qt, C++, Python入门指导
3)界面美化
4)软件制作

博主推荐文章:python人脸识别统计人数qt窗体-CSDN博客

博主推荐文章:Python Yolov5火焰烟雾识别源码分享-CSDN博客

                         Python OpenCV识别行人入口进出人数统计_python识别人数-CSDN博客

个人博客主页:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

博主所有文章点这里:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/607935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文本分类系统Python,基于深度学习CNN卷积神经网络

一、介绍 文本分类系统&#xff0c;使用Python作为主要开发语言&#xff0c;通过TensorFlow搭建CNN卷积神经网络对十余种不同种类的文本数据集进行训练&#xff0c;最后得到一个h5格式的本地模型文件&#xff0c;然后采用Django开发网页界面&#xff0c;实现用户在界面中输入一…

I.MX6ull 按键抖动消除

1 按键消抖的原理 其实就是在按键按下以后延时一段时间再 去读取按键值&#xff0c;如果此时按键值还有效那就表示这是一次有效的按键&#xff0c;中间的延时就是消抖的。 延时函数实现 会浪费 CPU 性能&#xff0c;因为延时函数就是空跑。 我们可以借助定时器来实现消抖&…

小程序服务器SSL证书替换,访问小程序异常

小程序最近SSL证书过期&#xff0c;访问小程序errno: 600001, errMsg: “request:fail -102:net::ERR_CONNECTION_REFUSED“。 1.在阿里云申请DV证书&#xff0c; DV证书&#xff1a;域名验证型证书&#xff0c;证书审核方式为通过验证域名所有权即可签发证书。 DV证书只验证…

基于Yolov5目标检测的物体分类识别及定位(一) -- 数据集原图获取与标注

从本篇博客正式开始深度学习项目的记录&#xff0c;实例代码只会放通用的代码&#xff0c;数据集和训练数据也是不会全部放出。 系列文章&#xff1a; 基于Yolov5目标检测的物体分类识别及定位&#xff08;一&#xff09; -- 数据集原图获取与标注 基于Yolov5目标检测的物体分类…

【计算机组成原理与体系结构】硬件系统概述

目录 一、计算机的发展 二、计算机的硬件系统 三、硬件的工作原理 四、计算机系统的层次结构 五、计算机的性能指标 一、计算机的发展 第一代计算机&#xff1a;电子管计算机 第一台电子计算机&#xff1a;ENIAC&#xff08;1946&#xff09; 设计目的&#xff1a;计算导弹…

实验篇(7.2) 06. 通过安全隧道访问远端内网服务器 (SSL) ❀ 远程访问

【简介】直接映射服务器到公网&#xff0c;没有验证不安全&#xff1b;通过Web浏览器访问远程内网服务器&#xff0c;有验证也安全&#xff0c;但是支持的协议太少。那有没有即安全&#xff0c;又能支持所有协议的访问方法呢&#xff1f;我们来看看SSL VPN的隧道模式。 实验要求…

基于Yolov5目标检测的物体分类识别及定位(二) -- yolov5运行环境搭建及label格式转换

刚开始跟着网上的教程做&#xff0c;把环境安装错了&#xff0c;后来直接用GitHub的官方教程来安装环境。 地址是yolov5官方团队代码及教程&#xff0c;看readme文件就可以。 系列文章&#xff1a; 基于Yolov5目标检测的物体分类识别及定位&#xff08;一&#xff09; -- 数据集…

【MySQL】一文带你了解表的增删改查 CRUD

文章目录 1. 增加&#xff08;Create&#xff09;1.1 单行插入 全列插入1.2 多行插入 指定列插入 2. 查询&#xff08;Retrieve&#xff09;2.1 全列查询2.2 指定列查询2.3 查询字段为表达式2.4 别名2.5 去重2.6 排序 3. 条件查询&#xff08;Where&#xff09;3.1比较运算符…

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示

【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示 上一章Bayesian Networks本章&#xff1a;观测学习学习学习元素机器学习概论机器学习对什么有用自动语音识别计算机视觉Information retrieval—信息检索 机器学习机器学习&#xff1a;定义 电子邮件过滤问题…

全志V3S嵌入式驱动开发(gpio输出)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 不管是对mcu&#xff0c;还是对soc来说&#xff0c;gpio肯定是越多越好。但是一个芯片上&#xff0c;它的引脚总是有限的&#xff0c;特别对于非BG…

修改邻接变量-0day漏洞利用原理(6)

大多数情况下,局部变量在栈中的分布是相邻的,但也有可能出于编译优化等需要而有所例外。具体情况我们需要在动态调试中具体对待,这里出于讲述基本原理的目的,可以暂时认为局部变量在栈中是紧挨在一起的。 提供理论基础 下一篇利用:非法的超长密码去修改 bufer 的邻接变量…

支持向量机练习

练习5&#xff1a;支持向量机 介绍 在本练习中&#xff0c;我们将使用支持向量机&#xff08;SVM&#xff09;来构建垃圾邮件分类器。 在开始练习前&#xff0c;需要下载如下的文件进行数据上传&#xff1a; data.tgz -包含本练习中所需要用的数据文件 其中&#xff1a; e…

2. 卷积的经典模型

一、什么是卷积神经网络 卷积神经网络就是含有卷积层的网络。 二、有哪些经典的模型&#xff1f;每一次的技术进步在哪里&#xff1f; 卷积神经网络&#xff08;LeNet&#xff09; LeNet第一次将卷积神经网络推上舞台&#xff0c;通过梯度下降训练卷积神经网络可以达到手写数字…

chatgpt赋能python:Python中取出中间文本的方法

Python中取出中间文本的方法 在Python开发中&#xff0c;我们常常需要从字符串中取出特定位置的文本&#xff0c;例如从一个网页源码中提取出指定的内容。而且&#xff0c;一份好的代码需要清晰易懂、高效可靠。那么&#xff0c;在Python中如何取出中间文本呢&#xff1f;下面…

超详细Redis入门教程——Redis 主从集群(下)

前言 本文小新为大家带来 Redis 主从集群 相关知识&#xff0c;具体内容包括哨兵机制实现&#xff08;包括&#xff1a;哨兵机制简介&#xff0c;Redis 高可用集群搭建&#xff0c;Redis 高可用集群的启动&#xff0c;Sentinel 优化配置&#xff09;&#xff0c;哨兵机制原理&a…

史上最全网络安全面试题汇总

最近有不少小伙伴跑来咨询&#xff1a; 想找网络安全工作&#xff0c;应该要怎么进行技术面试准备&#xff1f;工作不到 2 年&#xff0c;想跳槽看下机会&#xff0c;有没有相关的面试题呢&#xff1f; 为了更好地帮助大家高薪就业&#xff0c;今天就给大家分享一份网络安全工…

vmware创建ubuntu服务器>>(使用xshell)配置连接

目录 引言服务器创建准备镜像创建服务器全过程新建虚拟机选择虚拟机硬件兼容性镜像选择服务器目录名和基础信息设置虚拟机命名和存储位置设置处理器配置内存配置网络选型下一步连续点击启动 服务器配置root用户密码设置root用户切换安装ssh服务并启动vmware-ssh配置链接 xshell…

算法(三)—— 双指针

文章目录 27 移除元素344 反转字符串&#xff08;手写reverse&#xff09;剑指 Offer 05 替换空格19 删除链表的倒数第N个节点面试题 02.07. 链表相交15 三数之和二、使用步骤1.引入库2.读入数据 总结 27 移除元素 题目&#xff1a;原地移除数组中值为val的元素 思路&#xff…

Jetson Orin Nano nvme系统备份和恢复

大家好&#xff0c;我是虎哥&#xff0c;Jeston Orin nano 8G模块&#xff0c;我自己也玩了一段时间&#xff0c;配置了很多环境后&#xff0c;我就在琢磨如何将系统像之前的模块一样捞取出来后&#xff0c;在新模块上进行恢复。过程是曲折的&#xff0c;结果也是曲折的&#x…

开源字节 考研集训营小程序

考研集训营的价格要比普通的班课贵很多&#xff0c;价格通常在上万元。考研集训营分为春季、暑期、秋季等短期集训营&#xff0c;还有半年和全年长期集训&#xff0c;为学生提供英语、数学、政治的公共课辅导和各种专业课的教学。想要了解更多的考研相关信息&#xff0c;获得适…