catalog/repos/agusabas--django-skills.md

98 lines
2.8 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.

# Django技能集合
`Django` `REST框架` `清洁架构` `Celery` `Python`
# Django 技能
用于 Django 开发的 Agent 技能集遵循清洁架构、SOLID 原则和现代最佳实践。
## 安装
```bash
# 列出可用技能
npx skills add agusabas/django-skills --list
# 安装所有技能
npx skills add agusabas/django-skills --all
# 安装特定技能
npx skills add agusabas/django-skills --skill django-clean-drf
npx skills add agusabas/django-skills --skill django-celery-expert
npx skills add agusabas/django-skills --skill refactordjango
```
## 可用技能
### django-clean-drf
全面的技能,用于按照清洁架构模式构建生产级 Django REST Framework API。
**功能特性:**
- 带有输入/输出 DTO 的用例层
- 服务层(静态查询、实例变更)
- 验证返回 `tuple[bool, str]` 而非抛出异常
- 读/写序列化器分离
- 构造函数注入以提升可测试性
- 按层划分的完整测试模式
- 查询优化N+1 问题预防、select_related、prefetch_related
- 分页、过滤、搜索和排序
- JWT 认证与权限控制
- 生产部署Gunicorn、Docker、缓存、日志、Sentry
- 面向 API 后端的 Django Admin 配置
- 使用 Ruff 的编码规范
**适用场景:** 创建新的 Django DRF 应用、实现 CRUD 操作、设计具有清晰关注点分离的 API 端点、优化查询、配置认证,或准备生产部署。
### django-celery-expert
Celery 任务处理与 Django 集成。
**功能特性:**
- 任务设计模式
- 错误处理与重试机制
- 定时任务beat
- 生产环境监控
- Django 集成模式
**适用场景:** 后台任务处理、异步操作、定时作业或 Celery 配置。
### refactordjango
将现有 Django 代码重构为清洁架构。
**功能特性:**
- 将臃肿的视图转换为用例
- 从视图中提取服务层
- 将异常转换为返回值
- 分离读/写序列化器
- 应用 Python 3.12+ 和 Django 5+ 模式
- 修复 N+1 查询及反模式
**适用场景:** 重构遗留 Django 代码、现代化改造项目、将清洁架构应用于现有代码库。
## 架构概览
```
视图层HTTP→ 用例层(业务逻辑)→ 服务层(数据访问)→ 模型层(领域)
```
### 核心原则
1. **依赖关系向内流动** —— 外层依赖内层
2. **业务逻辑不使用异常** —— 返回 `Output` DTO 或 `tuple[bool, str]`
3. **查询为静态方法,变更为实例方法**
4. **视图不直接访问模型** —— 通过服务层访问
5. **序列化器不包含业务逻辑** —— 由用例层负责
6. **DTO 使用 `@dataclass(frozen=True, slots=True)`**
7. **状态变更使用 `@transaction.atomic`**
8. **构造函数注入以提升可测试性**
## 环境要求
- Python 3.12+
- Django 5.0+
- Django REST Framework 3.14+
## 许可证
MIT