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后台管理系统的更多相关文章

  1. DoNet开源项目-基于jQuery EasyUI的后台管理系统

    博主在业余时间开发了一个简单的后台管理系统,其中用到了 jQuery EasyUI 框架,上次分享过系统布局,参考文章:jQuery EasyUI 后台管理系统布局分享,目前已完成系统的整体框架的搭建 ...

  2. admin快速搭建后台管理系统

    一.基于admin后台管理系统的特点: 权限管理:权限管理是后台管理系统必不可少的部分,拥有权限管理,可以赋予用户增删改查表权限(可以分别赋予用户对不同的表有不同的操作权限): 前端样式少:后台管理主 ...

  3. django后台管理系统(admin)的简单使用

    目录 django后台管理系统的使用 检查配置文件 检查根urls.py文件 启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车 注册后台管理系统超级管理 ...

  4. Django的后台管理系统Admin(5)

    Django的后台管理系统就是为了方便管理员管理网站,所以django自带了一个后台管理系统,接下来记录一下如何使用这个后台的管理系统. 首先我们要进入后台管理系统,就要有一个管理员的账号,先来创建有 ...

  5. Django后台管理系统的使用

    目录 django后台管理系统的使用 检查配置文件 检查根urls.py文件 启动项目,浏览器输入ip端口/admin 如: 127.0.0.1/8000/admin 回车 注册后台管理系统超级管理 ...

  6. Vue3教程:Vue 3 + Element Plus + Vite 2 的后台管理系统开源啦

    之前发布过一篇文章<Vue3教程:开发一个 Vue 3 + element-plus 的后台管理系统>,文中提到会开发并开源一个 Vue 3 + Element Plus 的项目供大家练手 ...

  7. 我的第一个python web开发框架(14)——后台管理系统登录功能

    接下来正式进入网站的功能开发.要完成后台管理系统登录功能,通过查看登录页面,我们可以了解到,我们需要编写验证码图片获取接口和登录处理接口,然后在登录页面的HTML上编写AJAX. 在进行接口开发之前, ...

  8. 4、Django实战第4天:xadmin快速搭建后台管理系统

    Django默认为我们提供了后台管理系统admin, urls.py中配置的第一条就是访问后台管理系统admin的 urlpatterns = [ url(r'^admin/', admin.site ...

  9. 【tips】xadmin - django第三方后台管理系统

    Django 为大家提供了一个完善的后台管理系统—admin,但是这个后台管理系统总体来说不太适合国人的习惯,所以有大神就使用 bootstrap 和 jQuery,为我们开发了一个第三 方的 Dja ...

  10. 可插拔式后台管理系统(Django)

    1.实现效果 研究了下django admin的功能,自己实现了一个简单的可插拔式后台管理系统,方便自定义特殊的功能,而且作为一个独立单独的django app,可以整体拷贝到其他项目中作为后台数据管 ...

随机推荐

  1. kubernetes系列(五) - kubernetes网络原理

    目录 前言 1. kubernetes网络模型 2. kubernetes的组件之间如何通讯 2.1 同一个pod内的多容器之间 2.2 各个pod直接的通讯 2.2.1 同一个节点上的pod互相通讯 ...

  2. 【狂神说Java】Java零基础学习笔记-异常

    [狂神说Java]Java零基础学习笔记-异常 异常01:Error和Exception 什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程 ...

  3. java技术架构图

    架构图有哪几种 业务架构:需求初期业务的结果和过程描述一般比较模糊,可能来自于某个老板.运营或用户的反馈.客户说海尔洗衣机洗土豆会堵,海尔立马设计专门的土豆洗衣机 业务方向往往是定方向和结果的叫战略, ...

  4. consul简介

    Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置. Consul是分布式的.高可用的.可横向扩展的.它具备以下特性 : 服务发现:consul通过DNS或者HTT ...

  5. KeyDB-键值存储

    KeyDB项目是从redis fork出来的分支.众所周知redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的情况下将redis改造成多线程. 多线程架构 线程模型 ...

  6. 【Git】---工作区、暂存区、版本库、远程仓库

    工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或 ...

  7. selenium学习-常用方法

    id_#当前元素的ID  tag_name#获取元素标签名的属性  text#获取该元素的文本.  click()#单击(点击)元素  submit()#提交表单  clear()#清除一个文本输入元 ...

  8. 使用 pdf.js 通过文件流方式加载pdf文件

    关于Pdf.js的基础知识,请参考我的博客  使用 pdf.js 在网页中加载 pdf 文件 使用 pdf.js 跨域问题的处理方法 上面两篇博客中介绍的内容都是基于直接加载远程服务器中静态PDF文件 ...

  9. Nukem pg walkthrough Intermediate

    nmap 扫描 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.157.105 Starting Nmap 7.94SVN ( https://nmap.org ...

  10. [BZOJ4665] 小w的喜糖 题解

    我们先假设同种糖间存在差异. 设 \(f_{i,j}\) 表示前 \(i\) 种糖至少有 \(j\) 人拿到的糖和原来一样,\(c_i\) 表示拿第 \(i\) 种糖的人的个数,则有: \[f_{i, ...