Files
DjangoAdmin_Django_AntdVue/README.md
T
2026-09-12 11:46:38 +08:00

173 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 align="center">DjangoAdmin 数据中台解决方案(Django + AntDesign 版本)</h1>
<p align="center"><img src="./public/static/image/logo.png" alt="DjangoAdmin Logo" width="200" height="200" /></p>
## 📚 项目介绍
DjangoAdmin 数据中台解决方案是一套面向企业级应用场景的一站式敏捷开发平台。后端以 Python + Django 为核心,前端采用 Vue3 + TypeScript + AntDesign + Vite 构建,并通过 Vue Router 与 Pinia 实现路由和状态管理。全栈技术体系成熟稳定,可快速支撑中后台管理系统、数据中台、业务运营平台等多类项目落地。
框架以“简化开发、提升效率”为设计初衷,自研了一套个性化、可插拔的组件式开发体系,涵盖单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮等常用交互组件。开发者只需按需组合,即可完成业务页面搭建,真正实现低代码开发。
在工程化层面,框架内置代码生成器,可根据数据库表结构自动生成完整的 CRUD 模块,包括后端代码、前端页面以及菜单权限记录,将重复性的增删改查工作一键自动化,让开发者能够将精力聚焦于核心业务逻辑与差异化功能。
在架构层面,框架采用前后端分离设计:后端提供标准 API,前端独立部署并支持多端适配。权限体系基于 RBAC 模型构建,覆盖菜单权限、按钮权限、数据权限三级控制;认证采用 JWT 无状态方案,使前后端协作更加高效顺畅。代码分层清晰、职责明确,配合完善的开发规范与工具链,为团队协作与长期维护提供坚实保障。
## 🍻 项目特点
- **低代码生成** — 通过代码生成器一键生成完整模块,从数据库表定义到前后端代码、菜单权限全自动完成
- **模块化、松耦合** — 每个业务模块独立封装,互不干扰,支持按需加载
- **模块丰富、开箱即用** — 内置用户、角色、菜单、部门、字典、日志等十余个基础模块
- **前后端分离** — 前后端独立开发与部署,接口规范统一,支持多端适配
- **权限体系完善** — 基于 RBAC 模型,支持菜单权限、按钮权限、数据权限三级控制
- **认证安全可靠** — 采用无状态认证方案,易于扩展,适配多端与分布式场景
- **统一响应规范** — 接口返回格式统一,前后端协作更高效
- **开发规范、设计模式** — 代码分层清晰,职责明确,便于扩展与维护
- **完善的本地中文化支持** — 错误提示、表单验证、操作日志全面中文化
- **强大便捷的开发工具链** — 内置代码检查与格式化工具,代码质量有保障
- **设计为团队及企业使用** — 规范统一,便于多人协作与长期维护
## 🍪 内置模块
- 用户管理:维护管理系统的用户,常规信息的维护与账号设置,支持头像上传裁剪
- 角色管理:角色菜单管理与权限分配,设置角色所拥有的菜单权限
- 菜单管理:配置系统菜单、操作权限、按钮权限标识,支持动态路由生成
- 职级管理:主要管理用户的职级信息
- 岗位管理:主要管理用户担任的职务
- 部门管理:配置系统组织机构,树结构展现支持数据权限
- 字典管理:对系统中常用的较为固定的数据进行统一维护
- 字典项管理:字典数据的明细项管理
- 配置管理:对系统的常规配置信息进行维护,网站配置管理功能统一维护
- 通知公告:系统通知公告信息发布维护
- 操作日志:记录用户关键操作,支持日志查询与审计
- 登录日志:记录用户登录信息,支持 IP 归属地解析
- 定时任务:基于定时任务管理,支持任务调度与执行日志
- 文件模板:文件模板管理与导出
- 代码生成器:根据数据库表结构自动生成前后端模块代码
## 🚀 快速开始
### 环境要求
- **Python** >= 3.12
- **Node.js** >= 22
- **pnpm** >= 7
- **MySQL** >= 8.0
- **Redis** >= 6.0
## 🗄️ 数据库支持
框架默认支持 **MySQL** 数据库,同时也支持多种数据库,可根据实际业务场景灵活切换。
| 数据库 | 驱动 | 支持情况 |
| --- | --- | --- |
| MySQL | mysqlclient 2.2.8 | ✅ 默认支持 |
| PostgreSQL | psycopg2-binary 2.9.9 | ✅ 支持 |
| SQL Server | mssql-django 1.4.2 | ✅ 支持 |
| Oracle | oracledb 2.5.1 | ✅ 支持 |
| SQLite | Django 内置 | ✅ 支持 |
## 📁 项目结构
```
├── application/ # Django 后端应用目录
│ ├── generator/ # 代码生成器 Web 端
│ ├── example/ # 示例模块(代码生成器产出的参考)
│ ├── user/ # 用户管理
│ ├── role/ # 角色管理
│ ├── menu/ # 菜单管理
│ ├── dept/ # 部门管理
│ ├── dict/ # 字典管理
│ ├── login/ # 登录认证
│ ├── index/ # 首页仪表盘
│ ├── job/ # 定时任务
│ ├── operation_log/ # 操作日志
│ ├── login_log/ # 登录日志
│ ├── upload/ # 文件上传
│ ├── models.py # 公共基础模型(BaseModel)
│ ├── settings.py # Django 配置
│ ├── urls.py # 总路由配置
│ └── wsgi.py / asgi.py # WSGI / ASGI 入口
├── config/ # 配置文件目录
│ └── env.py # 环境变量加载(.env 读取)
├── middleware/ # 中间件
│ ├── login_middleware.py # JWT 登录校验
│ └── permission_middleware.py # RBAC 权限校验
├── utils/ # 工具函数
│ ├── jwts.py # JWT 工具
│ ├── R.py # 统一响应封装
│ └── ...
├── public/ # 公共资源
│ └── templates/ # 代码生成器 Jinja2 模板
├── ui/ # Vue3 前端项目
│ ├── src/
│ │ ├── api/ # API 接口模块
│ │ ├── views/ # 页面视图
│ │ ├── components/ # 公共组件(BasicTable / BasicForm 等)
│ │ ├── router/ # 路由配置(动态路由生成)
│ │ ├── store/ # Pinia 状态管理
│ │ └── utils/ # 工具函数(Axios 封装等)
│ ├── .env.development # 开发环境配置
│ ├── .env.production # 生产环境配置
│ └── package.json # 前端依赖配置
├── generator.py # 代码生成器 CLI 入口
├── generator_config.py # 代码生成器核心逻辑
├── config.json # 代码生成器配置示例
├── manage.py # Django 管理脚本
├── requirements.txt # Python 依赖清单
└── .env # 环境变量配置
```
## 👷 软件信息
- 软件名称:DjangoAdmin 敏捷开发框架 Django + AntDesign 版本
- 软件作者:@小蚂蚁云 团队荣誉出品
- 软件出处:小蚂蚁云团队
- 软件协议:Apache-2.0
- 官网网址:<https://www.djangoadmin.cn>
- 文档网址:<http://docs.django.antdvue.djangoadmin.cn>
- 演示地址:<http://manage.django.antdvue.djangoadmin.cn>
## 📌 版本说明
| 版本名称 | 版本说明 | 版本地址 |
| --- | --- | --- |
| Django + Layui 混编版 | 采用 Django、Layui 等框架研发 | <https://gitee.com/djangoadmin/DjangoAdmin_Django_Layui> |
| Flask + Layui 混编版 | 采用 Flask、Layui 等框架研发 | <https://gitee.com/djangoadmin/DjangoAdmin_Flask_Layui> |
| FastAPI + Layui 混编版 | 采用 FastAPI、Layui 等框架研发 | <https://gitee.com/djangoadmin/DjangoAdmin_Fastapi_Layui> |
| Tornado + Layui 混编版 | 采用 Tornado、Layui 等框架研发 | <https://gitee.com/djangoadmin/DjangoAdmin_Tornado_Layui> |
| Django + EleVue 前后端分离版 | 采用 Django、Vue3、TypeScript、ElementPlus 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Django_EleVue> |
| Flask + EleVue 前后端分离版 | 采用 Flask、Vue3、TypeScript、ElementPlus 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Flask_EleVue> |
| FastAPI + EleVue 前后端分离版 | 采用 FastAPI、Vue3、TypeScript、ElementPlus 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Fastapi_EleVue> |
| Tornado + EleVue 前后端分离版 | 采用 Tornado、Vue3、TypeScript、ElementPlus 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Tornado_EleVue> |
| Django + AntdVue 前后端分离版 | 采用 Django、Vue3、AntDesign 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Django_AntdVue> |
| Flask + AntdVue 前后端分离版 | 采用 Flask、Vue3、AntDesign 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Flask_AntdVue> |
| FastAPI + AntdVue 前后端分离版 | 采用 FastAPI、Vue3、AntDesign 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Fastapi_AntdVue> |
| Tornado + AntdVue 前后端分离版 | 采用 Tornado、Vue3、AntDesign 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Tornado_AntdVue> |
| Django + NaiveUI 前后端分离版 | 采用 Django、Vue3、TypeScript、NaiveUI 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Django_NaiveUI> |
| Flask + NaiveUI 前后端分离版 | 采用 Flask、Vue3、TypeScript、NaiveUI 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Flask_NaiveUI> |
| FastAPI + NaiveUI 前后端分离版 | 采用 FastAPI、Vue3、TypeScript、NaiveUI 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Fastapi_NaiveUI> |
| Tornado + NaiveUI 前后端分离版 | 采用 Tornado、Vue3、TypeScript、NaiveUI 等框架研发前后端分离版本 | <https://gitee.com/djangoadmin/DjangoAdmin_Tornado_NaiveUI> |
## 🔧 模块展示
| | |
| --- | --- |
| ![模块展示1](./public/uploads/demo/1.png) | ![模块展示2](./public/uploads/demo/2.png) |
| ![模块展示3](./public/uploads/demo/3.png) | ![模块展示4](./public/uploads/demo/4.png) |
| ![模块展示5](./public/uploads/demo/5.png) | ![模块展示6](./public/uploads/demo/6.png) |
| ![模块展示7](./public/uploads/demo/7.png) | ![模块展示8](./public/uploads/demo/8.png) |
| ![模块展示9](./public/uploads/demo/9.png) | ![模块展示10](./public/uploads/demo/10.png) |
| ![模块展示11](./public/uploads/demo/11.png) | ![模块展示12](./public/uploads/demo/12.png) |
| ![模块展示13](./public/uploads/demo/13.png) | ![模块展示14](./public/uploads/demo/14.png) |
| ![模块展示15](./public/uploads/demo/15.png) | ![模块展示16](./public/uploads/demo/16.png) |
| ![模块展示17](./public/uploads/demo/17.png) | ![模块展示18](./public/uploads/demo/18.png) |
| ![模块展示19](./public/uploads/demo/19.png) | ![模块展示20](./public/uploads/demo/20.png) |
| ![模块展示21](./public/uploads/demo/21.png) | ![模块展示22](./public/uploads/demo/22.png) |
| ![模块展示23](./public/uploads/demo/23.png) | ![模块展示24](./public/uploads/demo/24.png) |
| ![模块展示25](./public/uploads/demo/25.png) | ![模块展示26](./public/uploads/demo/26.png) |
| ![模块展示27](./public/uploads/demo/27.png) | ![模块展示28](./public/uploads/demo/28.png) |
## ✨ 特别鸣谢
感谢 [Django](https://www.djangoproject.com/)、[Vue](https://cn.vuejs.org/)、[TypeScript](https://www.typescriptlang.org/)、[AntDesign](https://www.antdv.com/docs/vue/introduce-cn)、[Vite](https://cn.vitejs.dev/)、[Pinia](https://pinia.vuejs.org/)、[TailwindCSS](https://tailwindcss.com/) 等优秀开源项目。