一个基于Django开发的现代化人力资源管理系统,采用橙色主题设计,提供完整的员工管理、部门管理、考勤管理、薪资管理和招聘管理等功能模块。系统具有美观的UI界面、完善的管理后台和丰富的数据可视化功能。
- 层级部门结构管理
- 部门负责人设置
- 部门人员统计
- 部门树形展示
- 员工基本信息管理(增删改查)
- 员工搜索和筛选
- Excel批量导入/导出
- 员工头像上传
- 多种员工状态管理
- 在线签到签退
- 请假申请和审批
- 加班申请和审批
- 考勤统计报表
- 迟到早退统计
- 薪资结构配置
- 自动薪资计算
- 个人所得税计算
- 薪资发放记录
- 薪资报表导出
- 职位发布和管理
- 简历收集和管理
- 面试安排和评价
- Offer管理
- 招聘统计分析
- 基于Django的用户认证
- 管理员、HR、普通员工角色区分
- 功能权限控制
- ECharts图表展示
- 考勤统计图表
- 薪资趋势分析
- 部门人员分布
- 招聘数据统计
- 现代化橙色主题设计 (#D17764)
- 响应式布局,支持移动端
- 玻璃质感登录页面
- 统一的卡片和按钮样式
- 侧边栏导航,优化空间利用
- 平滑动画和交互效果
- 完善的Django Admin配置
- 批量操作功能(激活/停用、审批等)
- 自定义显示字段和计算方法
- 智能状态管理和转换
- 丰富的过滤和搜索功能
- 后端: Django 4.2.7 + Python 3.8+
- 数据库: MySQL 8.0
- 前端: Bootstrap 5.3 + Django模板
- 图表: ECharts 5.4
- 表单: django-crispy-forms
- 文件处理: openpyxl (Excel导入导出)
- Python 3.8+
- MySQL 8.0+
- pip
git clone <repository-url>
cd HRpip install -r requirements.txt在 hr_system/settings.py 中配置数据库连接:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'hrmanage',
'USER': 'root',
'PASSWORD': 'your_password',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}CREATE DATABASE hrmanage CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;python manage.py makemigrations
python manage.py migratepython manage.py shell < init_data.pypython manage.py runserver访问 http://127.0.0.1:8000 即可使用系统。
- 用户名:
admin - 密码:
admin - 管理后台: http://127.0.0.1:8000/admin/
- 用户名:
zhangsan密码:123456(张三 - 高级前端工程师) - 用户名:
lisi密码:123456(李四 - HR专员) - 用户名:
wangwu密码:123456(王五 - 后端架构师) - 用户名:
zhaoliu密码:123456(赵六 - 会计) - 用户名:
sunqi密码:123456(孙七 - 销售经理)
hr_system/
├── hr_system/ # Django项目配置
│ ├── settings.py # 项目设置
│ ├── urls.py # 主URL配置
│ └── wsgi.py # WSGI配置
├── employees/ # 员工管理应用
├── departments/ # 部门管理应用
├── attendance/ # 考勤管理应用
├── salary/ # 薪资管理应用
├── recruitment/ # 招聘管理应用
├── templates/ # 模板文件
│ ├── base.html # 基础模板
│ ├── registration/ # 登录模板
│ ├── employees/ # 员工模板
│ └── departments/ # 部门模板
├── static/ # 静态文件
├── media/ # 媒体文件
├── requirements.txt # 依赖包列表
├── init_data.py # 数据初始化脚本
└── manage.py # Django管理脚本
- 员工列表: 分页显示、搜索筛选
- 员工详情: 完整信息展示
- 添加员工: 表单验证、头像上传
- 编辑员工: 信息更新
- 批量导入: Excel文件导入
- 数据导出: Excel格式导出
- 部门列表: 树形结构展示
- 部门详情: 人员统计
- 创建部门: 层级关系设置
- 编辑部门: 信息更新
- 部门统计: 人员分布图表
- 考勤仪表板: 个人考勤概览
- 签到签退: 在线打卡
- 请假申请: 流程化审批
- 加班申请: 时长计算
- 考勤统计: 图表分析
- 薪资仪表板: 个人薪资概览
- 薪资记录: 详细薪资信息
- 薪资计算: 自动税费计算
- 薪资发放: 发放记录管理
- 薪资统计: 趋势分析
- 招聘仪表板: 招聘数据概览
- 职位管理: 职位发布和编辑
- 候选人管理: 简历收集
- 面试管理: 面试安排和评价
- Offer管理: Offer发送和跟踪
User (Django内置)
├── Employee (一对一)
│ ├── Department (多对一)
│ ├── AttendanceRecord (一对多)
│ ├── SalaryRecord (一对多)
│ └── LeaveApplication (一对多)
├── Department
│ ├── parent (自关联)
│ └── manager (多对一 User)
└── JobPosition
└── JobApplication (一对多)
├── Candidate (多对一)
├── Interview (一对多)
└── OfferLetter (一对一)
- 创建Django应用:
python manage.py startapp app_name - 在
settings.py中添加应用 - 创建模型、视图、表单
- 配置URL路由
- 创建模板文件
- 运行迁移:
python manage.py makemigrations && python manage.py migrate
- 修改
settings.py中的数据库配置 - 调整
AttendanceSettings模型中的考勤规则 - 修改
TaxSettings模型中的税率设置 - 自定义
templates/base.html中的界面样式
检查MySQL服务是否启动,数据库配置是否正确。
确保 DEBUG=True 或正确配置静态文件服务。
检查用户是否有相应的权限,管理员账号可以访问所有功能。
检查Excel文件格式是否正确,列顺序是否匹配。
本项目采用 MIT 许可证。
欢迎提交Issue和Pull Request来改进项目。
如有问题请通过以下方式联系: