开源!Django-Vue3-Admin的Python后台管理系统
Django-Vue3-Admin
项目简介
Django-Vue3-Admin 是一个基于 Django + Vue3 的前后端分离的后台管理系统,采用了最新的前后端技术栈,内置了丰富的功能模块,可以帮助开发者快速搭建企业级中后台产品。
技术架构
后端技术栈
- 核心框架:Django 4.2.1
- 权限认证:Django REST framework + JWT + Casbin
- 数据库:MySQL 8.0+
- 缓存:Redis
- 任务队列:Celery
- WebSocket:Channels + Redis
- 跨域处理:django-cors-headers
- 验证码:django-simple-captcha
- 数据导出:django-import-export
前端技术栈
- 核心框架:Vue 3.0 (Composition API)
- 开发语言:TypeScript
- 构建工具:Vite 3
- UI 框架:Element Plus
- 状态管理:Pinia
- 路由管理:Vue Router
- 国际化:vue-i18n
功能特点
1. 用户权限管理
- 基于 Casbin 的 RBAC 权限模型
- 多维度数据权限控制
- 动态路由和菜单权限
- 按钮级权限控制
2. 系统功能
- 用户管理:用户信息管理、状态控制、多角色分配
- 角色管理:角色权限分配、数据权限设置
- 菜单管理:动态菜单配置,支持多级菜单
- 部门管理:部门组织架构维护
- 岗位管理:岗位信息维护
3. 系统监控
- 操作日志:系统操作记录
- 任务监控:定时任务执行监控
- 服务监控:服务器性能监控
4. 系统工具
- 数据字典:系统中各种枚举数据维护
- 消息管理:系统消息推送和管理
部署说明
环境要求
- Python 3.9+
- Node.js 16+
- MySQL 8.0+
- Redis
- Docker(可选)
部署步骤
1. Docker 部署(推荐)
# 启动所有服务
docker-compose up -d
# 仅启动后端服务
docker-compose -f django-admin.yml up -d
# 仅启动前端服务
docker-compose -f django-web.yml up -d
2. 常规部署
后端部署
cd backend
# 安装依赖
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 数据库迁移
python manage.py makemigrations
python manage.py migrate
# 初始化数据
python manage.py init
# 启动服务
python manage.py runserver 127.0.0.1:8000
前端部署
cd web
# 安装依赖
pnpm install
# 开发环境
pnpm run dev
# 生产环境
pnpm build
初始账号
- 用户名:paopao
- 密码:123456
开发指南
后端开发
- 遵循 Django 开发规范
- 使用 Django REST framework 开发 API
- 使用 Casbin 进行权限控制
- 使用 Celery 处理异步任务
前端开发
- 组件命名采用 PascalCase
- TypeScript 类型定义放在 types 目录
- API 接口按模块组织在 api 目录
- 使用 ESLint + Prettier 进行代码规范
演示图
















许可证
此项目为开源项目,请勿商用,若要商用,请联系作者
代码地址
https://gitee.com/taskPyroer/django-vue3-admin
https://github.com/taskPyroer/DjangoVue3Admin
学习交流
| 微信:PJ221BBB | 公众号:布鲁的Python之旅 |
|---|---|
![]() |
![]() |
开源!Django-Vue3-Admin的Python后台管理系统的更多相关文章
- DoNet开源项目-基于jQuery EasyUI的后台管理系统
博主在业余时间开发了一个简单的后台管理系统,其中用到了 jQuery EasyUI 框架,上次分享过系统布局,参考文章:jQuery EasyUI 后台管理系统布局分享,目前已完成系统的整体框架的搭建 ...
- admin快速搭建后台管理系统
一.基于admin后台管理系统的特点: 权限管理:权限管理是后台管理系统必不可少的部分,拥有权限管理,可以赋予用户增删改查表权限(可以分别赋予用户对不同的表有不同的操作权限): 前端样式少:后台管理主 ...
- django后台管理系统(admin)的简单使用
目录 django后台管理系统的使用 检查配置文件 检查根urls.py文件 启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车 注册后台管理系统超级管理 ...
- Django的后台管理系统Admin(5)
Django的后台管理系统就是为了方便管理员管理网站,所以django自带了一个后台管理系统,接下来记录一下如何使用这个后台的管理系统. 首先我们要进入后台管理系统,就要有一个管理员的账号,先来创建有 ...
- Django后台管理系统的使用
目录 django后台管理系统的使用 检查配置文件 检查根urls.py文件 启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车 注册后台管理系统超级管理 ...
- Vue3教程:Vue 3 + Element Plus + Vite 2 的后台管理系统开源啦
之前发布过一篇文章<Vue3教程:开发一个 Vue 3 + element-plus 的后台管理系统>,文中提到会开发并开源一个 Vue 3 + Element Plus 的项目供大家练手 ...
- 我的第一个python web开发框架(14)——后台管理系统登录功能
接下来正式进入网站的功能开发.要完成后台管理系统登录功能,通过查看登录页面,我们可以了解到,我们需要编写验证码图片获取接口和登录处理接口,然后在登录页面的HTML上编写AJAX. 在进行接口开发之前, ...
- 4、Django实战第4天:xadmin快速搭建后台管理系统
Django默认为我们提供了后台管理系统admin, urls.py中配置的第一条就是访问后台管理系统admin的 urlpatterns = [ url(r'^admin/', admin.site ...
- 【tips】xadmin - django第三方后台管理系统
Django 为大家提供了一个完善的后台管理系统—admin,但是这个后台管理系统总体来说不太适合国人的习惯,所以有大神就使用 bootstrap 和 jQuery,为我们开发了一个第三 方的 Dja ...
- 可插拔式后台管理系统(Django)
1.实现效果 研究了下django admin的功能,自己实现了一个简单的可插拔式后台管理系统,方便自定义特殊的功能,而且作为一个独立单独的django app,可以整体拷贝到其他项目中作为后台数据管 ...
随机推荐
- kubernetes系列(五) - kubernetes网络原理
目录 前言 1. kubernetes网络模型 2. kubernetes的组件之间如何通讯 2.1 同一个pod内的多容器之间 2.2 各个pod直接的通讯 2.2.1 同一个节点上的pod互相通讯 ...
- 【狂神说Java】Java零基础学习笔记-异常
[狂神说Java]Java零基础学习笔记-异常 异常01:Error和Exception 什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程 ...
- java技术架构图
架构图有哪几种 业务架构:需求初期业务的结果和过程描述一般比较模糊,可能来自于某个老板.运营或用户的反馈.客户说海尔洗衣机洗土豆会堵,海尔立马设计专门的土豆洗衣机 业务方向往往是定方向和结果的叫战略, ...
- consul简介
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置. Consul是分布式的.高可用的.可横向扩展的.它具备以下特性 : 服务发现:consul通过DNS或者HTT ...
- KeyDB-键值存储
KeyDB项目是从redis fork出来的分支.众所周知redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的情况下将redis改造成多线程. 多线程架构 线程模型 ...
- 【Git】---工作区、暂存区、版本库、远程仓库
工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或 ...
- selenium学习-常用方法
id_#当前元素的ID tag_name#获取元素标签名的属性 text#获取该元素的文本. click()#单击(点击)元素 submit()#提交表单 clear()#清除一个文本输入元 ...
- 使用 pdf.js 通过文件流方式加载pdf文件
关于Pdf.js的基础知识,请参考我的博客 使用 pdf.js 在网页中加载 pdf 文件 使用 pdf.js 跨域问题的处理方法 上面两篇博客中介绍的内容都是基于直接加载远程服务器中静态PDF文件 ...
- Nukem pg walkthrough Intermediate
nmap 扫描 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.157.105 Starting Nmap 7.94SVN ( https://nmap.org ...
- [BZOJ4665] 小w的喜糖 题解
我们先假设同种糖间存在差异. 设 \(f_{i,j}\) 表示前 \(i\) 种糖至少有 \(j\) 人拿到的糖和原来一样,\(c_i\) 表示拿第 \(i\) 种糖的人的个数,则有: \[f_{i, ...

