# 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