Files
DjangoAdmin_Django_NaiveVue/CLAUDE.md
T
2026-09-16 13:30:07 +08:00

79 lines
2.3 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.
# 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_` 前缀)
## 常用命令
```bash
# 后端
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` 包含敏感配置,不要提交到 git
- `config.json` 是代码生成器的输入,修改前确认字段定义
- 前后端分离部署,后端 API 统一前缀