2.3 KiB
2.3 KiB
DjangoAdmin 数据中台 (Django + NaiveUI)
项目概览
企业级数据中台解决方案。后端 Django 6 + DRF,前端 Vue3 + TypeScript + NaiveUI + Vite。
目录结构
application/ # Django 应用(每个子目录一个业务模块)
login/ # 登录认证(JWT)
user/ # 用户管理
role/ # 角色管理
menu/ # 菜单管理(动态路由)
dept/ # 部门管理
dict/ # 字典管理
generator/ # 代码生成器
...
config/ # Django 配置(settings, urls 等)
middleware/ # 登录 & 权限中间件
utils/ # 通用工具(响应封装 R.py、JWT、加密等)
extends/ # 扩展(dotenv 加载)
constant/ # 全局常量
ui/ # 前端 Vue3 项目
docker/ # Docker 部署
scripts/ # 数据库迁移脚本
generator.py # 代码生成器主逻辑
generator_config.py # 生成器配置(字段模板)
config.json # 代码生成器的模型定义
技术栈
- 后端: Python 3.12+, Django 6.0, DRF 3.18, SimpleJWT, MySQL/PostgreSQL/SQLServer/Oracle
- 前端: Vue 3, TypeScript, NaiveUI, Vite, Pinia, Vue Router, TailwindCSS
- 包管理: 后端 pip (requirements.txt), 前端 pnpm
开发约定
后端
- 每个业务模块是
application/下的一个独立 Django app - 响应封装使用
utils/R.py,统一返回{code, msg, data}格式 - 认证方案: JWT (SimpleJWT)
- 权限模型: RBAC(菜单权限 + 按钮权限 + 数据权限)
- 中间件链: login_middleware → permission_middleware
- 配置从
.env加载(python-dotenv)
前端
- 前端项目在
ui/目录,独立运行 - 使用 pnpm 作为包管理器
- ESLint + Prettier + Stylelint 代码规范
- 组件在
ui/src/下
代码生成器
config.json定义模型字段generator.py根据配置自动生成前后端 CRUD 代码- 表前缀自动去除(如
django_前缀)
常用命令
# 后端
python manage.py runserver
python manage.py makemigrations
python manage.py migrate
# 前端
cd ui && pnpm install && pnpm dev
# Docker
cd docker && docker-compose up -d
注意事项
.env包含敏感配置,不要提交到 gitconfig.json是代码生成器的输入,修改前确认字段定义- 前后端分离部署,后端 API 统一前缀