用Python轻松实现个人考勤管理

科技   2024-09-24 20:01   重庆  

添加微信号CNFeffery备注“dash学习”

即刻加入dash应用开发技术交流群

大家好我是费老师,今天要给大家分享的项目是完全基于Python编写的「个人考勤管理」应用,首先来看一下其主要功能的操作演示视频(玩转dash公众号后台回复「考勤」可直接获取该项目完整源码下载地址):

之所以可以完全基于Python轻松开发出这个应用,要归功于Python生态中非常强大的网页应用开发框架Dash,以及其相关生态中的fac(官网地址:https://fac.feffery.tech/ )等组件库,使得我们可以轻松调用不同的功能组件,并编写相应的回调函数来实现各种用户交互反馈功能:

下面我们对这个应用实现的主要过程做简短介绍,具体技术细节欢迎扫描「文章末尾二维码」,即刻加入Dash技术学习交流群一起交流:

1 启动应用

首先,按照「文章开头提示」下载好本项目完整源码解压后,在项目根目录打开终端,激活你的Python环境,接着执行pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple,完成当前项目依赖库的安装。

然后直接在终端执行python app.py即可启动应用,按照控制台提示的信息,浏览器访问本地http://127.0.0.1:8050地址即可使用到应用:

2 应用主要功能

该应用案例虽然简单,但是对很多考勤数据管理常用功能都进行了实现,主要有:

2.1 自定义考勤周期

应用中可自由控制考勤展示周期的起始日:

从而控制与当前周期范围相关的数据展示等内容的更新:

2.2 考勤周期切换

通过日历右上方的周期切换按钮,可自由切换至其他周期范围:


2.3 日期考勤记录交互编辑

针对日历中展示的各个日期,直接点击日期单元格,即可触发对应的数据编辑面板:

在日期数据编辑面板中,可灵活选择日期类型,进行相关数据的填写保存:

2.4 日历展示内容动态变化

随着用户所编辑考勤数据的更新,日历中相应的也会动态展示不同的状态:

2.5 周期内考勤数据统计

日历下方区域会随着考勤数据的变化,而动态计算当前周期内的相关统计结果:

2.6 数据自动缓存

该应用中,考勤数据的缓存是自带持久化特性的,因此即使刷新了页面,数据依然不会丢失:

且应用还配备了带有「二次确认」的清空数据功能:

3 应用开发重点思路

作为一个轻量的Dash应用,其项目结构非常简单:

  • assets目录存放静态资源,即本应用中的应用图标图片等文件
  • app.py中构建了应用的页面内容以及交互逻辑

为了方便演示,本应用案例利用了Store()组件,并设置参数storage_type="local",从而实现了数据的快捷持久化保存,并基于表格组件AntdTable,来自定义渲染可交互的日历,其中农历数据的部分使用到了Pythonlunar_python:

因为是基于Python中的Dash框架进行开发,因此该应用的实现过程全部使用Python编写,无需学习复杂的javascript等语言,在此应用基础上进行二次开发非常轻松,譬如开发数据导出功能等。

更多有关此应用的技术细节,欢迎添加微信号CNFeffery备注「dash学习」,即刻加入技术交流群一起学习讨论。


更多Dash应用开发干货内容,欢迎持续关注我们❤️。

扫描下方二维码加我好友备注dash学习

即刻加入dash应用开发技术交流群



点击下方卡片加入玩转Dash知识星球

用最专业最高效的方式搞定Dash应用开发


Python大数据分析
分享Python编程、数据分析、爬虫、人工智能等
 最新文章