Become a sponsor

├── application/ # Django 应用目录(所有业务模块)
│ ├── example/ # 示例模块(标准 CRUD 模板,可作为开发参考)
│ │ ├── models.py # 数据模型
│ │ ├── forms.py # 表单验证
│ │ ├── services.py # 业务逻辑
│ │ ├── views.py # 视图处理
│ │ ├── urls.py # 路由配置
│ │ └── apps.py # 应用配置
│ ├── user/ # 用户管理模块
│ ├── role/ # 角色管理模块
│ ├── role_menu/ # 角色菜单关联模块
│ ├── menu/ # 菜单管理模块
│ ├── dept/ # 部门管理模块
│ ├── level/ # 职级管理模块
│ ├── position/ # 岗位管理模块
│ ├── dict/ # 字典类型管理模块
│ ├── dict_item/ # 字典项管理模块
│ ├── config/ # 配置类型管理模块
│ ├── config_item/ # 配置项管理模块
│ ├── config_web/ # Web 配置模块
│ ├── param/ # 参数管理模块
│ ├── file_template/ # 文件模板模块
│ ├── article/ # 文章管理模块
│ ├── category/ # 分类管理模块
│ ├── notice/ # 公告管理模块
│ ├── link/ # 友情链接模块
│ ├── city/ # 城市管理模块
│ ├── job/ # 定时任务模块
│ ├── job_log/ # 任务日志模块
│ ├── login/ # 登录模块(登录、验证码)
│ ├── login_log/ # 登录日志模块
│ ├── operation_log/ # 操作日志模块
│ ├── upload/ # 文件上传模块
│ ├── index/ # 首页模块(菜单、用户信息)
│ ├── generator/ # 代码生成器 Web 端
│ ├── models.py # BaseModel 抽象基类
│ ├── settings.py # Django 项目配置
│ ├── urls.py # 主路由配置(注册所有模块路由)
│ └── wsgi.py # WSGI 入口
├── config/ # 配置目录
│ └── env.py # 环境变量配置(数据库、Redis 等)
├── middleware/ # 中间件目录
│ ├── login_middleware.py # JWT 登录认证装饰器
│ └── permission_middleware.py # 权限控制混入类
├── utils/ # 工具类目录
│ ├── R.py # 统一响应工具(R.ok / R.failed)
│ ├── jwt.py # JWT 生成和解析工具
│ ├── common.py # 通用工具函数
│ ├── regular.py # 表单错误信息提取
│ └── security.py # 安全工具(获取用户 ID、用户名)
├── constant/ # 常量定义目录
│ └── constants.py # 全局常量(PAGE_SIZE、MESSAGE_OK 等)
├── extends/ # 扩展模块
│ └── extends_dotenv.py # .env 文件加载
├── ui/ # 前端 Vue 项目
│ ├── src/
│ │ ├── api/ # API 接口层
│ │ │ ├── tool/ # 业务 API 模块
│ │ │ └── sys/ # 系统 API 模块
│ │ ├── views/ # 页面视图
│ │ │ ├── tool/ # 业务页面
│ │ │ ├── sys/ # 系统管理页面
│ │ │ └── dashboard/ # 仪表盘
│ │ ├── components/ # 公共组件
│ │ │ ├── BasicTable/ # 表格组件
│ │ │ ├── BasicForm/ # 表单组件
│ │ │ └── PageWrapper/ # 页面容器
│ │ ├── router/ # 路由配置
│ │ │ ├── router-guards.ts # 路由守卫
│ │ │ └── generator-routers.ts # 动态路由生成
│ │ ├── store/ # Pinia 状态管理
│ │ │ └── modules/
│ │ │ ├── asyncRoute.ts # 动态路由状态
│ │ │ └── user.ts # 用户状态
│ │ ├── utils/ # 前端工具
│ │ │ └── http/axios/ # Axios HTTP 封装
│ │ └── directives/ # 自定义指令(v-perm 权限指令)
│ ├── .env.development # 开发环境配置(API 代理)
│ ├── .env.production # 生产环境配置
│ ├── package.json # 前端依赖配置
│ └── vite.config.ts # Vite 构建配置
├── public/ # 公共资源目录
│ ├── templates/ # Jinja2 代码生成模板
│ ├── static/ # 静态文件
│ └── uploads/ # 上传文件存储
├── generator.py # 代码生成器 CLI 入口
├── generator_config.py # 代码生成引擎(CodeGenerator 类)
├── manage.py # Django 管理脚本
├── requirements.txt # Python 依赖(UTF-16LE 编码)
├── config.json # 代码生成器配置示例
└── .env # 环境变量文件(数据库、Redis 连接信息)每个业务模块(如 application/example/)遵循统一的文件结构:
application/<module>/
├── __init__.py # 包初始化文件
├── apps.py # 应用配置(AppConfig)
├── models.py # 数据模型定义
├── forms.py # 表单验证类
├── services.py # 业务逻辑函数
├── views.py # 视图类(HTTP 请求处理)
├── urls.py # 模块内路由配置
├── admin.py # Django Admin 配置
└── migrations/ # 数据库迁移文件
└── __init__.py| 文件 | 职责 | 示例 |
|---|---|---|
models.py | 定义数据库模型,继承 BaseModel | class Example(BaseModel): name = models.CharField(...) |
forms.py | 定义表单验证规则,继承 ModelForm | class ExampleForm(forms.ModelForm): name = forms.CharField(required=True) |
services.py | 实现所有业务逻辑 | get_example_page(), add_example(), update_example() |
views.py | 处理 HTTP 请求,调用 services,返回响应 | class ExamplePageView(PermissionRequired, View) |
urls.py | 配置模块内 URL 映射 | path('page', views.ExamplePageView.as_view()) |
一个生成的 CRUD 页面通常包含以下文件:
ui/src/views/<domain>/<entity>/
├── index.vue # 列表页(搜索表单 + 数据表格 + 操作按钮)
├── edit.vue # 编辑弹窗(新增/编辑表单)
├── detail.vue # 详情弹窗(只读展示)
└── components/ # 模块内私有组件(可选)对应的 API 模块:
ui/src/api/<domain>/<entity>.ts # CRUD 接口封装| 文件 | 作用 |
|---|---|
.env | 数据库连接、Redis 连接、应用名称等环境变量 |
config/env.py | 读取 .env 并导出配置变量,所有模块通过 from config.env import ... 使用 |
application/settings.py | Django 配置(INSTALLED_APPS、中间件、数据库、缓存等) |
application/urls.py | 主路由配置,通过 include() 注册所有模块路由 |
ui/.env.development | 前端开发环境配置(Vite 代理 /api 到后端) |
ui/package.json | 前端依赖和脚本命令 |