2025-07-13 21:42:25 +08:00
2025-07-13 21:42:25 +08:00
2025-07-04 13:12:32 +08:00
2025-07-05 10:46:25 +08:00
2025-07-10 15:32:00 +08:00
2025-07-07 00:04:53 +08:00
2025-07-13 21:42:25 +08:00
2025-07-04 13:12:32 +08:00
2025-07-04 22:52:22 +08:00
2025-07-13 21:42:25 +08:00
2025-06-29 21:45:27 +08:00
2025-07-11 15:55:49 +08:00

项目简介

本项目为基于 Django5 + Vue3vben-admin全栈开发的企业级中后台管理系统支持动态菜单、按钮权限、自动化代码生成、前后端权限联动等功能适用于多角色、多权限场景的管理后台。

在线体验

  • admin/admin123
  • chenze/admin123

体验地址:https://demo.ywwuzi.cn

文档地址:https://docs.ywwuzi.cn

功能截图

部门管理
部门管理
用户管理
用户管理
角色管理
角色管理
岗位管理
岗位管理
菜单管理
菜单管理
前端界面
前端界面
权限员工界面
普通员工界面

许可证

本项目遵循 MIT License。 它是一个完全开源的快速开发平台个人、团体使用免费Django-Vue3-Admin 是一个基于 RBAC基于角色的访问控制模型进行权限控制的全面基础开发平台权限控制粒度达到列级。它遵循前后端分离的架构后端使用 Django 和 Django Rest Framework前端使用 Vue3、Composition API、TypeScript、Vite 和 vben-adminAnt Design Vue

启动说明

python 版本 3.12

node 版本v22.17.0

后端启动

  1. 修改数据库配置: 打开 backend/backend/settings.py找到 DATABASES根据实际情况修改数据库连接信息如主机、端口、用户名、密码、数据库名等
    DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': 'django_vue',
         'USER': 'root',
         'PASSWORD': '',
         'HOST': 'localhost',
     }
    

}

1. 进入 backend 目录:
   ```bash
   cd backend
  1. 安装依赖:
    pip install -r requirements.txt
    
  2. 导入数据库(默认 MySQL
    # 先在 MySQL 中创建数据库(如 django_vue
    mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS django_vue DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;"
    # 导入数据
    mysql -u root -p django_vue < ../sql/django_vue.sql
    
    sql 文件位于 sql/django_vue.sql。 如需更换数据库类型,请修改 backend/backend/settings.py 中的数据库配置。
  3. 启动服务:
    python manage.py runserver
    

(可选)Django 项目中启动 Celery 的标准方法如下:

Celery 任务队列与监控

启动 Celery Worker

Celery 启动界面

celery -A backend worker -l info

启动 Celery Beat如有定时任务

定时任务配置在 backend/backend/settings.pyCELERY_BEAT_SCHEDULE

CELERY_BEAT_SCHEDULE = {
    'every-1-minutes': {
        'task': 'system.tasks.sync_temu_order',  # 任务路径
        'schedule': 60,  # 每1分钟执行一次
    },
}
celery -A backend beat -l info

启动 Flower 监控

celery -A backend flower --port=5555 --basic_auth=admin:admin123
  • --port=5555:指定 Flower 的访问端口(可自定义)
  • --basic_auth=用户名:密码:设置访问 Flower 的账号密码(如 admin:admin123

启动后,浏览器访问 http://localhost:5555 ,输入账号密码即可进入 Celery 任务监控界面。

Celery 监控界面


前端启动(以 web-antd 为例)

说明web-ele 目前暂不支持,待 InputPassword 等组件开发完毕后再兼容。

  1. 进入前端目录:
    cd web
    
  2. 安装依赖:
    pnpm install
    # 或 npm install / yarn install
    
  3. 启动开发服务:
    pnpm dev
    # 或 npm run dev / yarn dev
    

Docker 启动与部署

开发环境一键启动

  1. 复制开发环境变量模板(如有):
    cp docker/.env.example docker/.env.local
    # 根据实际情况修改 docker/.env.local
    
  2. 构建并启动所有开发服务:
    docker compose -f docker-compose.dev.yml up -d --build
    
  3. 关闭所有开发服务:
    docker compose -f docker-compose.dev.yml down
    

如需自定义端口、数据库、Redis 密码等,请修改 docker/.env.local 文件。

生产环境一键启动

本项目支持一键 Docker 部署,推荐生产环境使用。

  1. 复制环境变量模板:
    cp docker/.env.example docker/.env.local
    # 根据实际情况修改 docker/.env.local
    
  2. 构建并启动所有服务:
    docker compose -f docker-compose.prod.yml up -d --build
    
  3. 关闭所有服务:
    docker compose -f docker-compose.prod.yml down
    

如需自定义端口、数据库、Redis 密码等,请修改 docker/.env.local 文件。

阿里云 OSS 配置

启用 OSS 上传

  1. docker/.env.prod 中配置 OSS 参数:
    VITE_OSS_ENABLED=true
    VITE_OSS_REGION=oss-cn-hangzhou
    VITE_OSS_ACCESS_KEY_ID=your_access_key_id
    VITE_OSS_ACCESS_KEY_SECRET=your_access_key_secret
    VITE_OSS_BUCKET=your_bucket_name
    VITE_OSS_PREFIX=frontend/
    VITE_OSS_DELETE_LOCAL=false
    

禁用 OSS 上传

VITE_OSS_ENABLED 设置为 false 或删除相关配置即可。

演示环境配置

启用演示模式

docker/.env.prod 中设置:

DEMO_MODE=true

演示模式下:

  • 全局禁止所有修改和删除操作POST、PUT、PATCH、DELETE
  • 只允许登录、登出等基础操作
  • 所有修改/删除请求将返回 403 错误
  • 禁用 Django Admin 后台管理界面
  • 适用于在线演示,防止数据被误操作

禁用演示模式

DEMO_MODE 设置为 false 或删除该配置即可正常使用所有功能,包括 Admin 后台。


技术架构

  • 后端Django + Django REST framework
  • 前端Vue3 + Vite + vben-adminAnt Design Vue
  • 数据库:默认 MySQL可扩展为 PostgreSQL

后端技术栈

  • Python 3.12+
  • Django 5.x
  • Django REST framework
  • Celery可选任务队列
  • 角色/菜单/按钮权限模型
  • 自动化菜单/权限生成脚本

前端技术栈

  • Vue3
  • Vite
  • TypeScript
  • Pinia状态管理
  • Ant Design Vue
  • vben-admin 组件库
  • 动态路由与权限指令

功能特点

  • 动态菜单与多级路由,支持后端驱动
  • 按钮级别权限控制,支持 v-permission 指令
  • 角色多对多、权限灵活分配
  • 自动化脚本生成菜单与权限
  • 通用权限校验,支持接口级、按钮级
  • 登录日志、操作日志
  • 支持多端适配与主题切换
  • 代码生成器辅助开发
Description
No description provided
Readme MIT 8.4 MiB
Languages
Vue 45.6%
TypeScript 33.8%
Python 10.5%
PLpgSQL 7.5%
CSS 1.4%
Other 1.1%