基于python的考勤系统的设计与实现.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于python的考勤系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于python的考勤系统的设计与实现.docx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要现如今中国在校大学生人数是10年前的10倍还有余,在校大学生人数达到了2831.17万人,随着人数的增多,问题也随之产生,比如同一节课的人数也稳固上升,这就给老师的上课考勤带来了非常大的难题,以往我们的经验是点名达到,随着人数的不断增加,这种方式显然存在繁重的弊端,因此我们设计的“Python学生考勤系统”就十分重要。针对现如今的问题,我本人设计并实现了一款“Python学生考勤系统”就可以解决学生人数增加带来上课考勤困难的问题。并且还拥有发布信息和回复的功能,以及学生因事请假并说明原因等功能。这个系统使用了当今python框架中如日中天的Django框架,使用了MTV结构,能够最大程度的
2、简洁清晰的了解后端结构作用易于维护。前端使用了Bootstrap框架来实现美观简洁的前端界面,让学生易于操作和使用,使用了Mysql数据库,并使用Navicate软件来连接使用。关键词:Django MTV Bootstrap mysql Navicate AbstractNow the number of college students in China is more than 10 times that of 10 years ago. The number of college students has reached 28.311 million. As the number of
3、 students increases, problems also arise. For example, the number of students in the same class has also risen steadily. This has caused a very difficult problem for the teachers attendance. In the past, our experience was to achieve a roll call. With the continuous increase of the number of people,
4、 this method obviously has heavy drawbacks. Therefore, the Python student attendance system we designed is very important.In view of the current problems, I have designed and implemented a Python student attendance system to solve the problem of attendance problems caused by the increase in the numb
5、er of students. And also has the function of releasing information and reply, as well as the function of asking for leave and explaining the reasons.This system uses the Django framework in the current Python framework, uses the MTV structure, and can understand the function of the back-end structur
6、e to the greatest extent succinctly and clearly, which is easy to maintain. The front-end uses bootstrap framework to realize beautiful and simple front-end interface, which makes students easy to operate and use. MySQL database is used and navicate software is used to connect and use.Key Words:Djan
7、go MTV Bootstrap mysql Navicate 广东东软学院本科生毕业设计(论文) 目 录1.绪论12.开发工具和技术简介22.1设计目标32.2 研究方法32.3项目中涉及的技术32.3.1 Django框架32.3.2 Bootstrap前端框架32.3.3 MTV框架模式42.3.4 MTV与MVC42.4设备要求53.系统需求分析53.1需求规格63.1.1系统的构成部分63.1.2功能性需求63.1.3非功能性需求103.2开发环境的选择114.系统设计114.1总体设计114.2系统结构与程序的关系124.3接口设计154.3.1用户接口154.3.1.1登录与注册
8、模块用户接口154.3.1.2签到与签退模块用户接口164.3.1.3请假与批复模块用户接口174.3.1.4日志生成与查询模块用户接口184.3.1.5附件模块用户接口194.4数据结构设计204.5功能模块设计224.5.1注册与登录模块224.5.2签到与签退模块234.5.3请假与批复模块244.5.4日志生成与查询模块254.5.5附件模块264.6总体设计274.6.1登录与注册功能284.6.2签到与签退功能284.6.3请假与批准功能284.6.4日志生成与查询功能284.6.5附件模块功能 284.7系统故障处理设计284.7.1出错信息284.7.2解决办法285.系统实现
9、与测试295.1用户与登录注册模块295.1.1功能说明295.1.2程序运行过程截图295.2签到与签退模块305.2.1功能说明305.2.2程序运行过程截图305.3请假与回复模块315.3.1功能说明315.3.2程序运行过程截图315.4日志生成与查询模块325.4.1功能说明325.4.2程序运行过程截图325.5附件模块335.5.1功能说明335.5.2程序运行过程截图336.总结和展望347.结论35参考文献36致谢371.绪论现当今学校的学习生活中,学生老师的数量与日俱增,同时我同学和老师每天都要面对好几次的上课下课,一方面每节课的学生数量庞大,一个一个点名明显作为一种十分
10、笨重的考勤方式,一方面影响同学们的时间,另一方面影响老师的上课效率,所以因此,一款基于python的Django框架的学生签到系统就这样非常有必要。为解决学校之中,学生多,点名难,老师考勤不方便等等问题。此系统不单单包括签到和签退的功能还包括请假的功能,学生填写请假的内容和时间提交,老师可以在线进行回复或者驳回,极大增加了办公效率,还包括学生和老师都可以发布消息,其他成员可以进行回复,此功能加大了本系统的延展性和实用性。本人利用Django框架实现本系统相比于Flask更加的丰富和极具拓展性,方便后期的维护和升级。2.开发工具和技术简介2.1设计目标此系统能帮助老师更快捷,直观的了解到学生们当
11、天的上课情况,包括到教室的时间,下课离开的时间,当天这节课来的同学总人数,迟到的同学人数,请假的同学人数,以及他们迟到和请假的原因。2.2研究方法本考勤系统采取的主要的方法和技术是:Django的框架模式-MTV ,运行平台:Window10操作系统 以及MySQL数据库(Navicate软件用来操作数据库和查看数据库信息),此“Python考勤系统”采用的设计思维是模块化的,具体分为三块:M: Models层 模型层,具体的作用是负责数据库的建模,以及CRUD的操作;将数据库中的表结构抽象成类;T: Templates层 模板层,具体作用是用于处理用户显示的内容,如HTMLV: Views层
12、 视图层,具体作用是处理与用户交互的部分,从模型中获取数据,再将数据发送给模板,最终显示给用户;2.3项目中涉及的技术2.3.1Django框架Django 是一款开放式的WEB应用框架,是用Python写成的。Django采用的是MTV的框架模式,Django最开始被设计出来的目的是用来管理一些新闻咨询为主要内容的网站,其属于劳伦斯出版集团旗下。也叫做CMS(内容管理程序)应用。同时Django在2005年7月在BSD许可证下发布。Django框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django的目的是快速开发网站,因此Django拥有极其强大的第三方插件和
13、工具包,我只需要仅仅几行代码就能开发出一个网站,比起以前的Python大大提高了效率,同时减少了网站研发的成本,加快速度。2.3.2 Bootstrap前端框架 Bootstrap前端框架 是现在前端开发中最主流的框架之一,Bootstrap为所有开发者提供了丰富的美观的工具包,方便快捷上手使用2.3.3MTV框架模式Models:一个抽象层,用来构建和操作你的web应用中的数据,模型是你的数据的唯一的、权威的信息源。它包含你所储存数据的必要字段和行为。通常,每个模型对应数据库中唯一的一张表。from django.db import models# Create your models he
14、re.class BlogsPost(models.Model): title = models.CharField(max_length = 150) body = models.TextField() timestamp = models.DateTimeField()创建好模型就好了,剩下的由Django完成。Django会根据模型在数据库中创建一个表模板(templates):模板层提供了设计友好的语法来展示信息给用户。使用模板方法可以动态地生成HTML。模板包含所需HTML 输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。% if latest_question_list
15、 % % for question in latest_question_list % question.question_text % endfor % % else % No polls are available.% endif %视图(views):用于封装负责处理用户请求及返回响应的逻辑。视图可以看作是前端与数据库的中间人,他会将前端想要的数据从数据库中读出来给前端。他也会将用户要想保存的数据写到数据库。#coding=utf-8from django.shortcuts import renderfrom blog.models import BlogsPostfrom djang
16、o.shortcuts import render_to_response# Create your views here.def index(request): blog_list = BlogsPost.objects.all() return render_to_response(index.html,blog_list:blog_list)查询到BlogsPost数据库里的所有数据,赋值给blog_list变量。return render_to_response(index.html,blog_list:blog_list)通过render_to_response() 返回给浏览器一个
17、index.html页面,并且将blog_list变量的值也返回给index.html。2.3.4 MTV与MVCMVC:Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分。以下是 Django 中 M、V 和 C 各自的含义:M定义数据库的东西,一般放在models.pyV定义HTML静态网页相关内容,也就是前端页面C定义业务逻辑,你的主要代码。 C 是由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views), Dja
18、ngo 也被称为 MTV 框架 。在 MTV 开发模式中:M 代表模型(Model),就是数据模型,负责数据的存取;T 代表模板(Template),负责页面的展示逻辑 V 代表视图(View),视图函数,负责业务逻辑的处理;核心目的就是为了解耦,提高开发效率2.4设备要求2.4.1软件需求操作系统 CentOS7.1服务器Nginx 1.12开发平台Pycharm5,python3,Django1.2浏览器 谷歌浏览器数据库 Mysql82.4.2硬件需求1) 最低配置cpu:2GHz双核以上ram:2G以上hd:100G以上gpu:gt6402) 推荐配置需要64位处理器和操作系统cpu:
19、3 GHz四核以上处理器ram:16G以上内存ssd:256G以上gpu:gtx1060 3.系统需求分析3.1系统的构成部分3.1.1系统性需求通过对系统一般需求分类:登录与注册签到与签退请假与批准日志的产生和查询附加模块3.1.1.1登录与注册:功能:包括学生老师账号密码等信息,账号密码核对无误后允许登陆登录与注册模块允许学生通过已注册账号登录考勤签到系统当学生无已注册账号时(一般为新加入的学生),允许学生即时注册账号同时该模块允许管理员老师对现有账号进行操作(一般为删除学生账号)对象:学生和老师3.1.1.2签到与签退:功能:包括上课时间区间,各学生签到与签退情况的详细信息在上课时间开始
20、前,允许登陆学生签到在上课时间结束后,允许登录学生签退允许管理员和老师核对签到与签退情况对象:学生3.1.1.3请假与批准:功能:包括请假人,所在班级,请假日期,请假理由,期限,与老师回复允许学生向老师实施请假操作假条内容包括请假人,所在班级,请假日期,请假理由,期限老师需对请假学生实行回复,具体内容为同意或拒绝管理员可查询请假记录与回复情况对象:学生,老师3.1.1.4日志生成与查询:功能: 包括每日学生签到签退的实际情况每日学习结束后,自动统计当日学生的签到签退情况,并生成日志管理员可以以日期,学生,班级为关键词查看具体日期的学生或班级的签到签退情况老师可查询自己班上的某日某学生签到签退情
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 python 考勤 系统 设计 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内