希姆计算资产管理管理系统
基于 Django + MySQL 的企业级硬件资产管理系统,支持 Excel 批量导入导出。
✨ 功能特性
- 仪表盘 — 资产统计总览、分类统计、状态分布、最近变更记录
- 资产管理 — 设备增删改查、资产编号/品牌/型号/序列号/资产面值等完整字段
- 分类管理 — 自定义设备分类(服务器、网络设备、存储设备等)
- 变更追踪 — 资产信息修改自动记录变更历史
- Excel 导入导出 — 批量导入(分类不存在自动创建)、筛选导出、模板下载
- 多维度搜索 — 按编号/名称/部门/使用人/位置搜索,按分类/状态/位置筛选
- 质保提醒 — 已过保/即将过保状态标识
- 用户认证 — 登录/退出,管理员权限控制
- 深色主题 — 护眼深色 UI,适合长时间使用
🛠️ 技术栈
| 组件 |
技术 |
| 后端 |
Django 4.2 |
| 数据库 |
MySQL / MariaDB |
| 前端 |
Bootstrap 5 + 自定义深色主题 |
| 部署 |
Docker Compose / 直接运行 |
📋 资产字段
| 字段 |
说明 |
| 资产编号 |
自定义编号,可重复 |
| 设备名称 |
设备名称 |
| 分类 |
服务器/网络设备/存储设备等(支持自定义) |
| 品牌 |
设备品牌 |
| 型号 |
设备型号 |
| 资产面值 |
资产价值(元) |
| 序列号 |
设备序列号 |
| 状态 |
在用/闲置/维修中/已报废 |
| IP地址 |
管理IP |
| BMC地址 |
BMC管理地址 |
| 设备位置 |
机房/机柜/U位 |
| 负责人 |
设备负责人 |
| 使用部门 |
使用部门 |
| 使用人 |
实际使用人 |
| 采购日期 |
采购时间 |
| 质保到期 |
质保截止日期 |
| 备注 |
补充说明 |
🚀 快速部署
方式一:Docker Compose(推荐)
# 克隆仓库
git clone ssh://git@git.cnbugs.com:10022/cnbugs/asset-management.git
cd asset-management
# 启动服务
docker-compose up -d
# 访问系统
# http://<服务器IP>:8010
# 默认账号: admin / admin123
方式二:直接运行
# 克隆仓库
git clone ssh://git@git.cnbugs.com:10022/cnbugs/asset-management.git
cd asset-management
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 配置数据库(修改 config/settings.py 中的 DATABASES)
# 创建 MySQL 数据库: CREATE DATABASE asset_management CHARACTER SET utf8mb4;
# 初始化
python manage.py migrate
python manage.py createsuperuser
# 启动
python manage.py runserver 0.0.0.0:8010
⚙️ 配置说明
数据库配置
编辑 config/settings.py 中的 DATABASES:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'asset_management',
'USER': 'root',
'PASSWORD': 'password123',
'HOST': 'localhost',
'PORT': '3306',
}
}
Docker 环境变量
在 docker-compose.yml 中配置:
| 变量 |
默认值 |
说明 |
| MYSQL_HOST |
db |
MySQL 主机 |
| MYSQL_PORT |
3306 |
MySQL 端口 |
| MYSQL_USER |
root |
MySQL 用户 |
| MYSQL_PASSWORD |
password123 |
MySQL 密码 |
| MYSQL_DATABASE |
asset_management |
数据库名 |
| DJANGO_DEBUG |
False |
调试模式 |
| DJANGO_SECRET_KEY |
your-secret-key... |
Django 密钥 |
📊 Excel 导入格式
| 资产编号 |
设备名称 |
分类 |
品牌 |
型号 |
资产面值 |
序列号 |
状态 |
IP地址 |
BMC地址 |
设备位置 |
负责人 |
使用部门 |
使用人 |
采购日期 |
质保到期 |
备注 |
- 分类不存在时自动创建
- 资产编号允许重复
- 日期格式:YYYY-MM-DD
- 状态可选:在用、闲置、维修中、已报废
📁 项目结构
asset-management/
├── assetapp/ # 主应用
│ ├── models.py # 数据模型
│ ├── views.py # 视图逻辑
│ ├── forms.py # 表单定义
│ ├── excel_utils.py # Excel 导入导出工具
│ ├── urls.py # URL 路由
│ ├── management/commands/ # 管理命令
│ ├── migrations/ # 数据库迁移
│ └── templatetags/ # 自定义模板标签
├── config/ # Django 配置
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── templates/assetapp/ # HTML 模板
├── static/css/ # 静态资源
├── docker-compose.yml # Docker 编排
├── Dockerfile # 容器构建
├── entrypoint.sh # 启动脚本
├── requirements.txt # Python 依赖
└── manage.py # Django 入口
📝 版本历史
v1.0.0
- 资产增删改查
- 仪表盘统计
- 分类管理
- 变更追踪
- Excel 导入导出
- 多维度搜索筛选
- 质保到期提醒
- 深色主题
- Docker 部署支持