django-vue-adminx开源项目

67 阅读3分钟

开源地址

github.com/niezhicheng…

gitee.com/niezhicheng…

✨ 功能特性

🔐 权限管理

  • RBAC 权限控制:基于角色的访问控制,支持菜单、按钮级别权限
  • 数据权限:支持组织级数据隔离,可按组织、用户过滤数据
  • 动态权限:权限实时生效,无需重启服务
  • 权限继承:角色权限可继承,支持权限组合

🎨 系统管理

  • 用户管理:用户增删改查、密码重置、角色分配
  • 角色管理:角色创建、权限分配、菜单绑定
  • 菜单管理:动态菜单树、图标选择、路由配置
  • 组织管理:多级组织架构,支持组织树管理
  • 权限管理:细粒度权限控制,支持 API 级别权限

📊 仪表盘

  • 系统监控:实时显示 CPU、内存、磁盘、网络使用情况
  • 数据统计:用户、角色、菜单、权限等数据统计
  • 图表展示:基于 ECharts 的数据可视化
  • 操作日志:最近操作记录展示

📝 操作日志

  • 自动记录:中间件自动捕获所有 API 请求
  • 详细记录:记录请求参数、响应数据、IP 地址、User-Agent
  • 敏感数据过滤:自动过滤密码、Token 等敏感信息
  • 多维度查询:支持按用户、操作类型、时间范围等查询

⏰ 任务调度

  • 定时任务:基于 APScheduler 的定时任务管理
  • 任务管理:任务的增删改查、立即执行
  • Cron 表达式:支持标准的 Cron 表达式配置
  • 任务状态:任务启用/禁用、执行状态监控

🔧 代码生成器

  • 一键生成:根据模型定义自动生成前后端代码
  • CRUD 完整:自动生成模型的增删改查接口
  • 前端页面:自动生成 Vue 页面,包含列表、表单、搜索
  • 数据权限:可选启用增强型数据权限控制
  • 代码注释:生成的代码包含完整注释

📦 其他功能

  • 文件上传:支持文件上传和管理
  • 软删除:支持数据的软删除和恢复
  • 审计字段:自动记录创建人、创建时间、更新人、更新时间
  • 数据分页:统一的分页接口
  • 搜索过滤:支持多字段搜索和过滤

🛠️ 技术栈

后端

  • Django 5.2.7 - Web 框架
  • Django REST Framework - RESTful API 框架
  • django-filter - 数据过滤
  • django-cors-headers - 跨域支持
  • APScheduler - 任务调度
  • psutil - 系统监控
  • MySQL/SQLite - 数据库

前端

  • Vue 3 - 前端框架
  • Vite - 构建工具
  • Arco Design - UI 组件库
  • Vue Router - 路由管理
  • Vuex - 状态管理
  • Axios - HTTP 客户端
  • ECharts - 数据可视化

致谢与引用:本项目前端最初基于 arco_admin_template 做了二次封装与改造,包含路由/菜单动态化、权限接入与页面结构优化等。 模板项目地址:https://github.com/zhaozhentao/arco_admin_template

📁 项目结构

django-vue-adminx/
├── backend/                       # 后端项目目录
│   ├── apps/                      # Django 应用目录
│   │   ├── audit/                 # 操作日志应用
│   │   │   ├── models.py          # 操作日志模型
│   │   │   ├── middleware.py      # 日志中间件
│   │   │   ├── serializers.py     # 序列化器
│   │   │   ├── views.py           # 视图集
│   │   │   └── urls.py            # URL 路由
│   │   ├── rbac/                  # RBAC 权限应用
│   │   │   ├── models.py          # 用户、角色、权限模型
│   │   │   ├── permissions.py     # 权限控制类
│   │   │   ├── serializers.py     # 序列化器
│   │   │   ├── views.py           # 视图集
│   │   │   └── management/        # 管理命令
│   │   │       └── commands/
│   │   │           └── init_rbac.py  # RBAC 初始化命令
│   │   ├── codegen/               # 代码生成器应用
│   │   │   ├── views.py           # 代码生成视图
│   │   │   └── templates/         # 代码模板
│   │   │       ├── backend/       # 后端模板
│   │   │       └── frontend/      # 前端模板
│   │   ├── tasks/                 # 任务调度应用
│   │   │   ├── models.py          # 任务模型
│   │   │   ├── scheduler.py       # 调度器
│   │   │   └── views.py           # 视图集
│   │   ├── common/                # 公共应用
│   │   │   ├── models.py          # 基础模型
│   │   │   ├── mixins.py          # Mixin 类
│   │   │   ├── viewsets.py        # 视图集基类
│   │   │   └── pagination.py      # 分页类
│   │   └── curdexample/           # 示例应用
│   ├── django_vue_adminx/         # Django 项目配置
│   │   ├── settings.py            # 项目配置
│   │   ├── urls.py                # 根 URL 配置
│   │   └── wsgi.py                # WSGI 配置
│   ├── requirements.txt            # Python 依赖
│   ├── Dockerfile.backend         # 后端 Dockerfile
│   ├── manage.py                  # Django 管理脚本
│   ├── templates/                 # 模板目录
│   └── media/                     # 媒体文件目录
├── front-end/                     # 前端项目
│   ├── src/
│   │   ├── api/                   # API 接口
│   │   ├── views/                 # 页面组件
│   │   ├── components/            # 公共组件
│   │   ├── layout/                # 布局组件
│   │   ├── router/                # 路由配置
│   │   ├── store/                 # 状态管理
│   │   └── utils/                 # 工具函数
│   ├── package.json               # 依赖配置
│   ├── vite.config.js             # Vite 配置
│   └── Dockerfile                 # 前端 Dockerfile
├── docker-compose.yml             # Docker Compose 配置
├── README.md                      # 项目说明文档
└── DOCKER.md                      # Docker 部署文档

🚀 快速开始

环境要求

  • Python 3.12+
  • Node.js 22+
  • MySQL 8.0+ (可选,默认使用 SQLite)

截屏2025-11-08 09.14.57.png

截屏2025-11-08 09.15.09.png

截屏2025-11-08 09.15.16.png

截屏2025-11-08 09.15.22.png

截屏2025-11-08 09.15.31.png

截屏2025-11-08 09.15.37.png

截屏2025-11-08 09.15.41.png

截屏2025-11-08 09.15.45.png

截屏2025-11-08 09.15.49.png

截屏2025-11-08 09.16.04.png

截屏2025-11-08 09.16.14.png