Skip to content

项目目录结构

整体结构

├── 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定义数据库模型,继承 BaseModelclass Example(BaseModel): name = models.CharField(...)
forms.py定义表单验证规则,继承 ModelFormclass 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.pyDjango 配置(INSTALLED_APPS、中间件、数据库、缓存等)
application/urls.py主路由配置,通过 include() 注册所有模块路由
ui/.env.development前端开发环境配置(Vite 代理 /api 到后端)
ui/package.json前端依赖和脚本命令

小蚂蚁云团队 · 提供技术支持