关于 django-expert
面向 Django 后端开发者的开发技能,涵盖模型、API、安全、测试、性能和生产部署,并提供按任务分类的参考资料与实现检查。
主要功能
- 01模型与 ORM 设计指导
- 02视图和 DRF API 模式
- 03身份验证与安全实践
- 04测试和质量策略
- 05查询性能优化
- 06生产部署指导
适用场景
- 01设计模型和迁移
- 02构建带权限控制的 DRF 端点
- 03诊断慢查询和 N+1 问题
- 04审查安全措施与生产配置
MCP 相关
若可用 `django-ai-boost` MCP 服务,技能建议借助它了解项目结构和现有模式。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vintasoftware/ django-ai-plugins --skill django-expert安装后在 Claude Code 中输入/django-expert确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/drf-guidelines.mdexamples.mdmodels-and-orm.mdperformance-optimization.mdproduction-deployment.mdREADME.mdsecurity-checklist.mdtesting-strategies.mdviews-and-urls.md详细介绍
Django 专家
概述
此技能为 Django 后端开发提供专业指导,全面涵盖模型、视图、Django REST Framework、表单、身份验证、测试和性能优化。它遵循 Django 官方最佳实践和现代 Python 规范,帮助你构建健壮、易于维护的应用程序。
核心能力:
- 使用优化的 ORM 模式设计模型
- 实现视图(FBV、CBV、DRF 视图集)
- 开发 Django REST Framework API
- 优化查询和调整性能
- 身份验证与权限
- 测试策略和模式
- 安全最佳实践
适用场景
遇到以下情况时,调用此技能:
模型与数据库工作:
- “创建一个用于……的 Django 模型”
- “优化这个 queryset/数据库查询”
- “为……生成迁移”
- “为……设计数据库架构”
- “修复 N+1 查询问题”
视图与 API 开发:
- “为……创建 API 端点”
- “构建一个……的 Django 视图”
- “实现 DRF 序列化器/视图集”
- “为 API 添加筛选/分页”
身份验证与安全:
- “实现身份验证/权限”
- “创建自定义用户模型”
- “保护此端点/视图”
测试与质量:
- “为这个 Django 应用编写测试”
- “调试这个 Django 错误/问题”
- “检查 Django 代码中的问题”
性能与优化:
- “这个 Django 视图运行很慢”
- “优化数据库查询”
- “为……添加缓存”
生产环境部署:
- “将 Django 部署到生产环境”
- “为生产环境配置 Django”
- “为 Django 设置 HTTPS/SSL”
- “生产环境设置检查清单”
- “配置生产环境数据库/缓存”
说明
处理 Django 开发请求时,遵循以下工作流:
1. 分析请求并收集上下文
识别任务类型:
- 模型设计(数据库架构、关系、迁移)
- 视图/API 开发(FBV、CBV、DRF 视图集、序列化器)
- 查询优化(N+1 问题、数据库性能)
- 身份验证/权限(用户模型、访问控制)
- 测试(单元测试、集成测试、测试固件)
- 安全审查(CSRF、XSS、SQL 注入、权限)
- 生产环境部署(设置、HTTPS、数据库、缓存、监控)
- 模板渲染(Django 模板、上下文处理器)
利用可用上下文:
- 如果有
django-ai-boostMCP 服务可用,请使用它了解项目结构和现有模式 - 阅读相关的现有代码,了解约定
- 检查 Django 版本,考虑兼容性
2. 加载相关参考文档
根据任务类型,参考相应的随附文档:
-
模型/ORM 工作 ->
references/models-and-orm.md- 模型设计模式和字段选择
- 关系配置(ForeignKey、ManyToMany)
- 自定义管理器和 QuerySet 方法
- 迁移策略
-
视图/API 开发 ->
references/views-and-urls.md+references/drf-guidelines.md- FBV 与 CBV 的选择标准
- DRF 序列化器、视图集和路由器
- URL 配置模式
- 中间件和请求/响应处理
-
性能问题 ->
references/performance-optimization.md- 查询优化技术(select_related、prefetch_related)
- 缓存策略(Redis、Memcached、数据库缓存)
- 数据库索引和查询分析
- 连接池和异步模式
-
生产环境部署 ->
references/production-deployment.md- 关键设置(DEBUG、SECRET_KEY、ALLOWED_HOSTS)
- HTTPS 和 SSL/TLS 配置
- 数据库和缓存配置
- 静态文件/媒体文件服务
- 错误监控和日志记录
- 部署流程和运行状况检查
-
安全问题 ->
references/security-checklist.md- CSRF/XSS/SQL 注入防护
- 身份验证和授权模式
- 安全配置实践
- 输入验证和清理
-
测试任务 ->
references/testing-strategies.md- 测试结构和组织
- Fixtures 和工厂
- 模拟外部依赖
- 覆盖率和 CI/CD 集成
3. 遵循 Django 最佳实践进行实现
代码质量标准:
- 遵循 PEP 8 和 Django 编码风格
- 尽可能优先使用 Django 内置功能,而非第三方包
- 保持视图精简,使用服务/管理器处理业务逻辑
- 使用含义明确的变量名,并为复杂逻辑添加文档字符串
- 使用适当的异常妥善处理错误
Django 特定模式:
- 对 FK/OneToOne 使用
select_related(),对反向 FK/M2M 使用prefetch_related() - 使用基于类的视图和 mixin 实现代码复用
- 使用 Django 表单/序列化器进行验证
- 遵循 Django 的迁移工作流(切勿编辑已应用的迁移)
- 使用 Django 内置的安全功能(CSRF 令牌、身份验证装饰器)
API 开发(DRF):
- 对标准 CRUD 操作使用 ModelSerializer
- 实现适当的分页和筛选
- 使用合适的权限类
- 遵循 RESTful 端点约定
- 进行破坏性更改时,为 API 设置版本
4. 验证和测试
在提交解决方案之前:
代码审查:
- 检查是否存在 N+1 查询问题(在脑海中使用 Django Debug Toolbar)
- 验证错误处理和边界情况是否妥当
- 确保遵循安全最佳实践
- 确认迁移干净且可回滚
测试注意事项:
- 为新功能建议或编写适当的测试
- 验证关键路径的测试覆盖情况
- 检查 Fixtures/工厂是否便于维护
性能检查:
- 检查数据库查询是否高效
- 考虑缓存机会
- 验证数据库索引的使用是否恰当
捆绑资源
references/ - 根据需要加载到上下文中的 Django 完整文档
这些参考文件提供了本 SKILL.md 概览之外的详细指南:
-
references/models-and-orm.md(约 1.1 万字)- 模型字段类型和最佳实践
- 关系配置(ForeignKey、OneToOne、ManyToMany)
- 自定义管理器和 QuerySet 方法
- 迁移模式和常见陷阱
- 数据库级约束和索引
-
references/views-and-urls.md(约 1.7 万字)- 基于函数的视图与基于类的视图之间的权衡
- CBV 混入类和继承模式
- URL 路由和反向解析
- 中间件实现
- 请求/响应生命周期
-
references/drf-guidelines.md(约 1.8 万字)- 序列化器模式(ModelSerializer、嵌套序列化器)
- ViewSet 和路由器配置
- 分页、筛选和搜索
- 身份验证和权限类
- API 版本控制策略
- API 性能优化
-
references/testing-strategies.md(约 1.8 万字)- 测试组织和结构
- 工厂模式与固定数据
- 测试视图、模型和序列化器
- 模拟外部服务
- 测试数据库优化
- CI/CD 集成
-
references/security-checklist.md(约 1.2 万字)- CSRF 保护实现
- XSS 预防技术
- SQL 注入防御
- 身份验证最佳实践
- 权限和授权模式
- 安全设置配置
-
references/performance-optimization.md(约 1.4 万字)- 查询优化(select_related、prefetch_related、only、defer)
- 数据库索引策略
- 缓存层(Redis、Memcached、数据库缓存)
- 数据库连接池
- 性能分析和监控工具
- 异步视图和后台任务
-
references/production-deployment.md(约 2 万字)- 关键设置(DEBUG、SECRET_KEY、ALLOWED_HOSTS)
- 数据库配置和连接池
- HTTPS/SSL 配置和安全标头
- 静态文件和媒体文件服务
- 使用 Redis/Memcached 进行缓存
- 生产环境的电子邮件配置
- 使用 Sentry 进行错误监控
- 日志记录和运行状况检查
- 零停机部署策略
-
references/examples.md- 实用实现示例- 使用自定义管理器设计模型
- N+1 查询优化
- DRF API 端点实现
- 编写 Django 测试
补充说明
Django 版本兼容性:
- 生产环境建议考虑 LTS 版本(4.2、5.2)
- 升级时检查弃用警告
- 使用
django-upgrade工具自动迁移
应避免的常见陷阱:
- 循环导入(使用惰性引用)
- 关系中缺少
related_name - 忘记为频繁查询的字段添加数据库索引
- 使用
get()时未处理异常 - 模板和序列化器中的 N+1 查询