Files
2026-09-12 23:12:15 +08:00

4.9 KiB
Raw Permalink Blame History

模块开发实战概述

本章以「案例管理(Example)」模块为完整案例,手把手演示从零开发一个业务模块的全流程。学完本章后,你将掌握项目中任意模块的开发方式。

你将学到什么

通过本章的实战演练,你将完整经历以下开发环节:

步骤 文件 说明
1. 数据模型 models.py 定义数据库表结构,继承 BaseModel
2. 表单验证 forms.py Django ModelForm 验证,中文错误提示
3. 业务逻辑 services.py 实现增删改查、分页、状态管理
4. 视图层 views.py 类视图,登录校验 + 权限控制 + 操作日志
5. 路由注册 urls.py 模块路由 + 主路由注册
6. 权限配置 菜单管理 配置权限节点 sys:module:action
7. 前端 API api/tool/example.ts 封装 HTTP 请求
8. 前端页面 views/tool/example/ 列表页 + 编辑弹窗 + 详情弹窗

案例模块:案例管理

选择「案例管理(Example)」作为案例的原因:

  1. 结构典型:包含完整的 CRUD + 状态管理 + 批量删除,覆盖大多数业务场景
  2. 字段丰富:涵盖字符串、整数、图片、状态枚举、排序等常见字段类型
  3. 代码规范:由代码生成器生成,遵循项目统一的开发规范
  4. 前后端完整:后端 5 个文件 + 前端 5 个文件,总计约 1500 行代码

模块文件总览

后端(application/example/)
├── models.py          # 数据模型(继承 BaseModel)
├── forms.py           # 表单验证(Django ModelForm)
├── services.py        # 业务逻辑层(CRUD 函数)
├── views.py           # 视图层(类视图 + 装饰器)
├── urls.py            # 路由配置
├── apps.py            # 应用配置
├── admin.py           # Django Admin 注册
└── migrations/        # 数据库迁移文件

前端(ui/src/)
├── api/tool/
│   └── example.ts     # API 请求封装
└── views/tool/example/
    ├── index.vue      # 主页面:搜索 + 表格 + 操作
    ├── edit.vue       # 编辑弹窗:新增/编辑表单
    ├── detail.vue     # 详情弹窗:查看记录详情
    ├── columns.ts     # 表格列定义
    └── querySchemas.ts # 搜索表单 Schema

数据库表结构

案例表 django_example 结构如下:

字段 类型 说明
id int 主键,自增
name varchar(100) 案例名称
avatar varchar(255) 案例图片
type int 案例类型:1-类型1 2-类型2 3-类型3 4-类型4
status int 案例状态:1-正常 2-禁用
sort int 排序权重
create_user varchar(50) 创建人
create_time datetime 创建时间
update_user varchar(50) 更新人
update_time datetime 更新时间
is_delete tinyint 软删除标记:0-正常 1-已删除

其中 id、create_user、create_time、update_user、update_time、is_delete 由基类 BaseModel 自动提供,业务字段仅需定义 name、avatar、type、status、sort。

开发顺序

建议按以下顺序逐步开发,每完成一步即可验证:

1. models.py     → 建表,确认数据库中有 django_example 表
2. forms.py      → 定义表单验证规则
3. services.py   → 业务逻辑层(CRUD 函数)
4. views.py      → API 视图(类视图 + 装饰器)
5. urls.py       → 注册路由
6. 权限配置       → 在菜单管理中添加权限节点
7. 前端 API       → 封装 HTTP 请求
8. 前端页面       → 列表页 + 编辑弹窗 + 详情弹窗

本章每一步都附有完整代码和详细注释。建议对照项目中 application/example/ 目录下的实际源码一起阅读,加深理解。

模块开发五步模式

模块开发遵循固定的五步模式:

Model → Form → Service → View → URL
步骤 文件 职责
Model models.py 定义数据模型,继承 BaseModel,配置表名和字段
Form forms.py 定义表单验证,绑定模型,设置中文错误提示
Service services.py 实现业务逻辑,所有 CRUD 操作封装为独立函数
View views.py 定义 HTTP 视图,组合登录校验、权限控制、操作日志
URL urls.py 注册路由,将 URL 路径映射到视图类

统一响应格式

所有 API 接口使用 utils/R.py 提供的统一响应格式:

# 成功响应
{"code": 0, "data": {...}, "msg": "操作成功", "ok": true}

# 失败响应
{"code": 1, "data": null, "msg": "操作失败", "ok": false}

总结

模块开发实战以案例管理(Example)为例,完整演示从 Model → Form → Service → View → URL → 权限配置 → 前端 API → 前端页面的全流程。每一步都附有完整代码和详细注释,建议对照实际源码一起阅读。