一个基于Django开发的企业人力资源管理系统,提供员工信息管理、部门管理、考勤管理、薪资管理、招聘管理等核心功能。
- 多级部门层次结构
- 部门负责人设置
- 员工数量统计
- 部门信息维护
- 员工档案管理
- 员工信息增删改查
- 员工搜索和筛选
- Excel批量导入导出
- 员工统计报表
- 在线签到签退
- 考勤记录查询
- 请假申请和审批
- 加班申请和审批
- 考勤统计分析
- 薪资结构配置
- 工资计算和发放
- 个人所得税计算
- 薪资调整记录
- 工资条生成
- 职位发布和管理
- 简历收集和筛选
- 面试安排和记录
- Offer管理
- 招聘流程跟踪
- 用户角色区分
- 管理员、HR、普通员工权限
- Django内置用户认证
- 数据访问控制
- 框架: Django 4.2+
- 数据库: MySQL / SQLite
- 语言: Python 3.8+
- ORM: Django ORM
- UI框架: Bootstrap 5
- 图标: Font Awesome
- 图表: ECharts
- 模板: Django Templates
- Excel处理: openpyxl
- 图片处理: Pillow
- 数据分析: pandas
hr_system/
│
├── hr_system/ # Django项目主目录
│ ├── settings.py # 项目设置
│ ├── urls.py # 主URL配置
│ ├── wsgi.py # WSGI配置
│ └── asgi.py # ASGI配置
│
├── departments/ # 部门管理应用
│ ├── models.py # 部门数据模型
│ ├── views.py # 部门业务逻辑
│ ├── urls.py # 部门URL路由
│ ├── forms.py # 部门表单
│ ├── admin.py # 部门后台管理
│ └── templates/ # 部门模板文件
│
├── employees/ # 员工管理应用
│ ├── models.py # 员工数据模型
│ ├── views.py # 员工业务逻辑
│ ├── urls.py # 员工URL路由
│ ├── forms.py # 员工表单
│ ├── admin.py # 员工后台管理
│ └── templates/ # 员工模板文件
│
├── attendance/ # 考勤管理应用
│ ├── models.py # 考勤数据模型
│ ├── views.py # 考勤业务逻辑
│ ├── urls.py # 考勤URL路由
│ ├── forms.py # 考勤表单
│ ├── admin.py # 考勤后台管理
│ └── templates/ # 考勤模板文件
│
├── salary/ # 薪资管理应用
│ ├── models.py # 薪资数据模型
│ ├── views.py # 薪资业务逻辑
│ ├── urls.py # 薪资URL路由
│ ├── forms.py # 薪资表单
│ ├── admin.py # 薪资后台管理
│ └── templates/ # 薪资模板文件
│
├── recruitment/ # 招聘管理应用
│ ├── models.py # 招聘数据模型
│ ├── views.py # 招聘业务逻辑
│ ├── urls.py # 招聘URL路由
│ ├── forms.py # 招聘表单
│ ├── admin.py # 招聘后台管理
│ └── templates/ # 招聘模板文件
│
├── templates/ # 公共模板目录
│ ├── base.html # 基础模板
│ └── registration/ # 用户认证模板
│
├── static/ # 静态文件目录
│ ├── css/ # 样式文件
│ ├── js/ # JavaScript文件
│ └── images/ # 图片文件
│
├── manage.py # Django管理脚本
├── init_data.py # 数据初始化脚本
├── requirements.txt # 依赖包列表
└── README.md # 项目文档
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt使用SQLite(开发环境,默认)
# settings.py 中已配置SQLite作为默认数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}使用MySQL(生产环境推荐)
# 修改 settings.py 中的数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'hr_management',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
},
}
}# 生成数据库迁移文件
python manage.py makemigrations
# 执行数据库迁移
python manage.py migrate
# 创建测试数据
python init_data.py# 启动开发服务器
python manage.py runserver
# 访问系统
# 用户端:http://127.0.0.1:8000/
# 管理后台:http://127.0.0.1:8000/admin/管理员账号
- 用户名:admin
- 密码:admin123
测试员工账号
- 用户名:zhang_ceo(总经理)
- 密码:123456
- 其他员工账号格式:[姓名拼音] / 123456
- 支持多级部门结构
- 可设置部门负责人
- 提供部门员工统计
- 支持部门层级可视化
- 完整的员工档案信息
- 支持Excel批量导入导出
- 员工照片上传
- 多条件搜索筛选
- 员工统计分析
- 在线签到签退功能
- 迟到早退自动判断
- 请假流程:申请→审批→生效
- 加班申请和审批
- 考勤统计报表
- 灵活的薪资结构配置
- 自动计算个人所得税
- 社保公积金扣除
- 薪资调整记录
- 工资条生成和发放
- 职位发布和管理
- 候选人信息维护
- 面试安排和记录
- 招聘流程跟踪
- Offer发放管理
在Django管理后台可以配置:
- 上下班时间
- 午休时间
- 迟到早退阈值
- 工作日设置
支持配置:
- 基本工资比例
- 绩效工资比例
- 津贴补助比例
- 社保公积金比例
- 个税计算规则
可配置多种请假类型:
- 年假、病假、事假
- 婚假、产假、陪产假
- 是否带薪、年度限额
- 环境配置
# 设置环境变量
export DJANGO_SETTINGS_MODULE=hr_system.settings
export DEBUG=False
export SECRET_KEY='your-secret-key'- 静态文件收集
python manage.py collectstatic- 使用Gunicorn部署
gunicorn hr_system.wsgi:application -b 0.0.0.0:8000- 使用Nginx反向代理
server {
listen 80;
server_name your-domain.com;
location /static/ {
alias /path/to/staticfiles/;
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}- 创建新的Django应用
python manage.py startapp new_module- 在settings.py中注册应用
INSTALLED_APPS = [
# ...
'new_module',
]- 创建数据模型、视图、URL配置
- 生成并执行数据库迁移
- 在主URL配置中包含模块URL
每个模块的models.py都有详细的字段说明和关系定义,可以根据需要扩展:
- 添加新字段
- 修改字段约束
- 增加索引优化
- 扩展模型方法
- 模板文件位于各模块的templates目录
- 静态文件(CSS/JS)位于static目录
- 使用Bootstrap 5框架,便于响应式设计
- ECharts图表库用于数据可视化
确保数据库服务正常运行,检查连接配置是否正确。
运行python manage.py collectstatic收集静态文件。
确保文件和目录有正确的读写权限。
使用国内镜像源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/- 简洁的登录界面
- 支持用户名密码登录
- 记住登录状态
- 员工列表展示
- 详细信息查看
- 批量导入导出
- 签到签退操作
- 考勤记录查询
- 统计报表展示
- 树状部门结构
- 部门详情查看
- 员工分布统计
如有问题或建议,请通过以下方式联系:
本项目采用MIT许可证,详见LICENSE文件。
- 初始版本发布
- 完成基础功能模块
- 支持员工、部门、考勤管理
- 提供完整的管理后台
HR管理系统 - 让人力资源管理更简单高效!