# django-vue-lyadmin
**Repository Path**: lybbn/django-vue-lyadmin
## Basic Information
- **Project Name**: django-vue-lyadmin
- **Description**: django-vue-lyadmin前端采用vue3+elementplus,后端采用Python Django DRF的一套前后端分离的低代码快速后台开发平台(专业版带有代码生成和表单构建器)、支持简易商城模块、定时任务、webssh运维、系统监控、内置常用功能api接口如:登陆、短信、支付宝微信支付,RABC权限控制。登录使用simplejwt,webpack\vite自由选择
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://gitee.com/lybbn
- **GVP Project**: No
## Statistics
- **Stars**: 1429
- **Forks**: 436
- **Created**: 2021-10-26
- **Last Updated**: 2025-12-09
## Categories & Tags
**Categories**: backend
**Tags**: web应用开发, 后台管理框架, Django, Python, Vue
## README
# Django-Vue-LyAdmin - 现代化低代码中后台管理系统
[](https://python.org/) [](https://docs.djangoproject.com/zh-hans/4.0/) [](https://nodejs.org/zh-cn/) [](https://gitee.com/lybbn/django-vue-lyadmin) [](LICENSE)
[📖 官方文档](https://doc.lybbn.cn/) | [🚀 dvlyadmin-mini在线演示](http://dvlyadmin-mini.lybbn.cn) | [💻 源码地址](https://gitee.com/lybbn/django-vue-lyadmin) | [🎥 视频教程](https://doc.lybbn.cn/videos/PythonWeb/%E8%AF%BE%E7%A8%8B%E4%BB%8B%E7%BB%8D.html)
## ✨ 项目简介
Django-Vue-LyAdmin 是一个基于 **Python Django + Vue3** 的现代化低代码中后台管理系统,致力于为开发者提供开箱即用的企业级开发解决方案。
### 🎯 核心特色
- **🔧 低代码开发**:可视化配置,快速生成 CRUD 功能(专业版增强代码生成功能)
- **🎨 前后端分离**:Vue3 + Element Plus 现代化前端架构
- **🔐 完善权限体系**:基于 JWT 的多终端认证系统
- **⚡ 高性能**:支持 WebSocket、定时任务、服务器监控等
- **🛠️ 丰富功能**:内置商城、支付、短信、文件管理等模块
### 🚀 衍生项目
- **[dvlyadmin-mini](https://gitee.com/lybbn/dvlyadmin-mini)** - 优化精简版
- **[dvlyadmin-pro](https://doc.lybbn.cn/support/subscribe.html)** - 专业版(含代码生成器、表单构建器等)
- **[dvlyadmin_pro_v2](https://doc.lybbn.cn/support/subscribe.html)** - 专业版(基于dvlyadmin-mini重构dvlyadmin-pro版本)
- **[如意面板](https://ruyi.lybbn.cn/)** - 服务器管理面板
- **[unielepy](https://gitee.com/lybbn/unielepy)** - 移动端开发模板
- **[Go语言版](https://gitee.com/lybbn/golyadmin)** - Go语言实现的django-vue-lyadmin版本
- **[壁纸下载小程序](https://lymallbbspc.lybbn.cn/goodsDetail?id=8)** - 可作者入驻,下载量结算,观看广告后再下载,后端图片阿里云OSS上传
- **[dvlyadmin商城论坛系统](https://doc.lybbn.cn/support/subscribe_mall_forum.html)** - 有手机端、pc端的商城论坛系统
## 🚀 在线演示
### 基础版本
| 版本 | 演示地址 | 测试账号 | 登录密码 | 说明 |
|------|----------|----------|----------|------|
| **基础版** | [django-vue-lyadmin 已关闭预览]() | `admin` | `123456` | 开箱即用,适合初学者 |
| **基础版** | [dvlyadmin-mini](http://dvlyadmin-mini.lybbn.cn) | `admin` | `123456` | 开箱即用,适合初学者 |
| **专业版** | [django-vue-lyadmin-pro](http://django-vue-lyadmin-pro.lybbn.cn) | `admin` | `123456` | 含代码生成器、表单构建器等高级功能 |
| **Pro V2** | [dvlyadmin-pro](https://dvlyadmin-pro.lybbn.cn/) | `admin` | `123456` | 专业版重构版本,新增服务器管理套件 |
### 商城论坛系统
| 平台 | 演示地址 | 测试账号 | 登录密码 |
|------|----------|----------|----------|
| **PC端商城** | [PC端](https://lymallbbspc.lybbn.cn/#/) | `test01` | `Admin123456` |
| **移动端商城** | [H5端](https://pingbang.lybbn.cn/#/) | `test2` | `Admin123456` |
| **后台管理** | [后台](https://pbadmin.lybbn.cn/) | `admin` | `123456` |
## 📚 快速入门
### 视频教程
| 序号 | 课程内容 | 视频链接 |
|------|----------|----------|
| 0 | Python Web开发新手导读 | [▶️ 观看](https://www.bilibili.com/video/BV1waLwzPE8G/) |
| 1 | 项目介绍与启动(旧版) | [▶️ 观看](https://www.bilibili.com/video/BV1Tk4y1j7pq/) |
| 2 | 开发环境安装配置(新版) | [▶️ 观看](https://www.bilibili.com/video/BV1qU5CzzEne/) |
| 3 | 项目功能点详细介绍 | [▶️ 观看](https://www.bilibili.com/video/BV1RV4y1671v/) |
| 4 | 低代码开发模式介绍 | [▶️ 观看](https://www.bilibili.com/video/BV1Yh411F7iM/) |
| 5 | 代码生成器使用教程 | [▶️ 观看](https://www.bilibili.com/video/BV1k5LqzaEFP/) |
| 6 | 表单构建器操作指南 | [▶️ 观看](https://www.bilibili.com/video/BV15iLEzvE4E/) |
## 交流
- 开发者WX号:laoyanyj
- QQ群号:
1. django-vue-lyadmin交流01群(已满):755277564
1. django-vue-lyadmin交流02群:877020250
- 二维码:
## 🏗️ 技术架构
### 前端技术栈
- **Vue 3** - 现代化前端框架
- **Element Plus** - UI组件库(支持暗黑主题)
- **Vite/Webpack** - 构建工具(支持两种模式)
- **Vue Router** - 路由管理
- **Vuex/Pinia** - 状态管理
### 后端技术栈
- **Django 4.x** - Python Web框架
- **Django REST Framework** - API接口框架
- **JWT认证** - 基于djangorestframework-simplejwt
- **Celery** - 异步任务处理
- **Channels** - WebSocket支持
- **MySQL 5.7+** - 数据库(推荐)
## ⚡ 核心特性
### 🎯 低代码开发
- **代码生成器**:可视化配置生成前后端CRUD代码(专业版增强代码生成功能)
- **表单构建器**:拖拽式表单设计,零代码实现页面功能
- **配置化开发**:面向配置的CRUD开发模式
### 🔐 权限系统
- **RBAC权限模型**:基于角色的访问控制
- **JWT多终端认证**:支持Web、移动端等多平台
- **动态菜单权限**:按角色分配菜单和操作权限
- **单用户登录控制**:支持踢掉上一个登录用户
### 🛠️ 运维能力
- **服务器监控**:实时监控Windows/Linux服务器资源
- **WebSSH终端**:基于WebSocket的远程终端服务
- **定时任务**:Celery Beat计划任务调度
- **系统日志**:完整的操作日志和异常日志记录
### 💰 商业功能
- **商城模块**:商品管理、订单处理、财务统计
- **支付集成**:微信支付、支付宝支付
- **短信服务**:阿里云短信、腾讯云短信
- **第三方登录**:微信登录、小程序登录
## 📖 文档资源
- **官方文档**:[doc.lybbn.cn](https://doc.lybbn.cn/)
- **项目官网**:[www.lybbn.cn](http://www.lybbn.cn)
- **历史版本**:[v1.0.20(Vue2版本)](https://gitee.com/lybbn/django-vue-lyadmin/releases/v1.0.20)
> 特别鸣谢:本平台后端权限设计模式参考了 [django-vue-admin-pro](https://gitee.com/dvadmin/django-vue-admin-pro)
## 📋 功能模块
### 系统管理
- **仪表盘** - 数据分析和统计展示
- **部门管理** - 组织架构管理(公司、部门、角色)
- **菜单管理** - 动态菜单配置和权限控制
- **角色管理** - 角色权限分配和数据范围控制
- **用户管理** - 管理员和前端用户管理
- **操作日志** - 系统操作记录和异常监控
- **个人中心** - 用户信息管理和密码修改
### 开发工具
- **代码生成器** - 可视化CRUD代码生成
- **表单构建器** - 拖拽式表单设计
- **配置化CRUD** - 面向配置的开发模式
### 运维监控
- **服务器监控** - Windows/Linux服务器资源监控
- **WebSSH终端** - 基于WebSocket的远程终端
- **计划任务** - Celery定时任务调度
- **系统监控** - 服务状态和性能监控
### 商城模块
- **商品管理** - 多规格商品管理
- **订单管理** - 订单处理和发货管理
- **财务统计** - 订单统计和财务报表
- **支付集成** - 微信支付、支付宝支付
### 平台功能
- **地区管理** - 国内省市区数据管理
- **平台设置** - 系统参数和轮播图配置
- **意见反馈** - 用户反馈收集
- **第三方服务** - 微信登录、短信服务、极光推送等
## 🚀 快速开始
### 环境要求
- Python 3.9+
- Node.js 14.0+
- MySQL 5.7+(推荐)
- Redis(可选,用于缓存和Celery)
## 文档地址
文档地址:文档在本项目的wiki中会持续更新,也可以通过官网访问:[www.lybbn.cn](http://www.lybbn.cn)
补充:如果想找到1.x版本(vue2)标准模块(不带商城功能)的,可前往 [正式版v1.0.20](https://gitee.com/lybbn/django-vue-lyadmin/releases/v1.0.20) 版本进行下载
## 源码地址
gitee地址(主推):https://gitee.com/lybbn/django-vue-lyadmin
## lyadmin后端
~~~bash
1. 进入项目目录
2. 在 config.py 中配置数据库信息
mysql数据库版本建议:8.0(django4.2版本要求mysql8.x以上)
mysql数据库字符集:utf8mb4(mysql8.x排序规则选择:utf8mb4_0900_ai_ci、mysql5.7.x选择utf8mb4_general_ci)
mysql数据库对应的表关于事务处理的确保是:innodb引擎(能回滚)
3. 设置数据库隔离级别(悲观锁、乐观锁)
全局设置mysql数据库隔离级别为READ-COMMITTED(临时生效,重启就没了):SET GLOBAL tx_isolation='READ-COMMITTED';
全局设置mysql数据库隔离级别为READ-COMMITTED(永久有效):修改配置文件my.cnf 的[mysqld]中增加 transaction-isolation=Read-Committed
当数据库当前会话的隔离级别:set tx_isolation='READ-COMMITTED';
查询当前会话的数据库隔离级别:select @@tx_isolation;
查询数据库mysql的隔离级别:select @@global.tx_isolation;
4. 安装依赖环境
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
5. 执行迁移命令(数据初始化):(此步骤可省略,直接导入sql脚本即可)
python manage.py makemigrations
python manage.py migrate
6. 初始化数据(数据初始化):(此步骤可省略,直接导入sql脚本即可)
python manage.py init
7. 启动项目(初始账号:superadmin 密码:123456)
python manage.py runserver 127.0.0.1:8000
或使用 daphne (使用【终端服务】的需要使用此asgi方式部署来支持websocket):
daphne -b 0.0.0.0 -p 8000 --proxy-headers application.asgi:application
使用celery【计划任务】需要额外启动celery 和 beat(调度器)
mac/linux:
celery -A application worker -B -l info
windows:(需要安装: pip install eventlet)
celery -A application worker -P eventlet -l info
celery -A application beat -l info
~~~
#### docker-compose 部署
~~~bash
1、先安装docker环境
2、pip install docker-compose 安装docker-compose
3、切换到项目根目录运行 docker-compose build 创建环境
4、docker-compose up -d 后台的方式启动docker环境
5、初始化django后端数据(第一次执行即可)
docker exec -it django-vue-lyadmin_django /bin/bash
python manage.py makemigrations
python manage.py migrate
python manage.py init
exit
或者直接导入lyadmin_db.sql文件到数据库也可
6、其他docker-compose命令
# docker-compose 停止
docker-compose down
# docker-compose 重启
docker-compose restart
# docker-compose 启动时重新进行 build
docker-compose up -d --build
7、说明:默认docker端口mysql:3306\redis:6379\前端:8080\后台:8000
如果端口冲突会造成启动docker失败情况
~~~
## 其他说明
1、使用本项目记得要更改application-->settings-->SECRET_KEY
~~~bash
可以运行python manage.py shell
from django.core.management import utils
utils.get_random_secret_key()
获取生成的新SECRET_KEY替换原来的老KEY
~~~
## lyadmin前端
#### 介绍
django-vue-lyadmin 是一套前后端分离的前端后台管理框架,是适配 django-vue-lyadmin 的 python django 后台管理项目的专属框架,基于原生 vue 开发,灵活自定义,可发挥空间大
#### 软件架构
```
1、VUE3
2、elementplus
3、富文本编辑器采用 vue-quill-editor 和 tinymce 两种 可以自行选择
```
#### 安装教程
```
cd frontend
npm install --registry=https://registry.npmmirror.com
```
说明:node版本尽量选择低版本,目前开发使用的为node:v16.17.0
#### 使用说明
调试开发直接运行:
```
npm start
```
#### 打包
```
npm run build
```
打包后静态文件在 dist 目录中
## 线上部署注意事项
~~~bash
1、前端打包前修改frontend\src\api\url里面的线上服务器ip或域名
2、前端打包的dist里面的静态文件放到backend\frontend\目录
3、运行python manage.py collectstatic收集静态文件到django
~~~
## 演示图












## 捐赠该项目
开源不易,可使用支付宝、微信扫下面二维码打赏支持。您的支持是我不断创作的动力!!!
![]() |
![]() |