django-expert

django-expert

热门

Django后端开发专家指导。在创建Django模型、视图、序列化器或API;调试ORM查询或迁移;优化数据库性能;实现身份验证;编写测试;或使用Django REST Framework时使用。遵循Django最佳实践和现代模式。

110Star
12Fork
更新于 2026/7/23
SKILL.md
readonly只读
name
django-expert
description

Django后端开发专家指导。在创建Django模型、视图、序列化器或API;调试ORM查询或迁移;优化数据库性能;实现身份验证;编写测试;或使用Django REST Framework时使用。遵循Django最佳实践和现代模式。

Django Expert

概述

本技能提供Django后端开发的专家指导,涵盖模型、视图、Django REST Framework、表单、身份验证、测试和性能优化。遵循官方Django最佳实践和现代Python约定,帮助您构建健壮、可维护的应用程序。

关键能力:

  • 使用最佳ORM模式进行模型设计
  • 视图实现(FBV、CBV、DRF视图集)
  • Django REST Framework API开发
  • 查询优化和性能调优
  • 身份验证和权限管理
  • 测试策略和模式
  • 安全最佳实践

何时使用

遇到以下触发条件时调用此技能:

模型与数据库工作:

  • "为...创建Django模型"
  • "优化此查询集/数据库查询"
  • "为...生成迁移"
  • "为...设计数据库模式"
  • "修复N+1查询问题"

视图与API开发:

  • "为...创建API端点"
  • "构建一个Django视图,用于..."
  • "实现DRF序列化器/视图集"
  • "为API添加过滤/分页"

身份验证与安全:

  • "实现身份验证/权限"
  • "创建自定义用户模型"
  • "保护此端点/视图"

测试与质量:

  • "为此Django应用编写测试"
  • "调试此Django错误/问题"
  • "审查Django代码中的问题"

性能与优化:

  • "此Django视图运行缓慢"
  • "优化数据库查询"
  • "为...添加缓存"

生产部署:

  • "将Django部署到生产环境"
  • "为生产环境配置Django"
  • "为Django设置HTTPS/SSL"
  • "生产设置清单"
  • "配置生产数据库/缓存"

操作说明

处理Django开发请求时遵循以下工作流程:

1. 分析请求并收集上下文

确定任务类型:

  • 模型设计(数据库模式、关系、迁移)
  • 视图/API开发(FBV、CBV、DRF视图集、序列化器)
  • 查询优化(N+1问题、数据库性能)
  • 身份验证/权限(用户模型、访问控制)
  • 测试(单元测试、集成测试、fixture)
  • 安全审查(CSRF、XSS、SQL注入、权限)
  • 生产部署(设置、HTTPS、数据库、缓存、监控)
  • 模板渲染(Django模板、上下文处理器)

利用可用上下文:

  • 如果django-ai-boost MCP服务器可用,使用它了解项目结构和现有模式
  • 阅读相关现有代码以了解约定
  • 检查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

    • 测试结构和组织
    • Fixture和工厂
    • 模拟外部依赖
    • 覆盖率和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)
  • 验证适当的错误处理和边界情况
  • 确保遵循安全最佳实践
  • 确认迁移干净且可逆

测试考虑:

  • 为新功能建议或编写适当的测试
  • 验证关键路径的测试覆盖率
  • 检查fixture/工厂是否可维护

性能检查:

  • 审查数据库查询的效率
  • 考虑缓存机会
  • 验证数据库索引的正确使用

捆绑资源

references/ - 全面的Django文档,根据需要加载到上下文中

这些参考文件提供了超出本SKILL.md概述的详细指导:

  • references/models-and-orm.md(约11k字)

    • 模型字段类型和最佳实践
    • 关系配置(ForeignKey、OneToOne、ManyToMany)
    • 自定义管理器和QuerySet方法
    • 迁移模式和常见陷阱
    • 数据库级别约束和索引
  • references/views-and-urls.md(约17k字)

    • 函数式视图与类视图的权衡
    • CBV mixin和继承模式
    • URL路由和反向解析
    • 中间件实现
    • 请求/响应生命周期
  • references/drf-guidelines.md(约18k字)

    • 序列化器模式(ModelSerializer、嵌套序列化器)
    • ViewSet和路由器配置
    • 分页、过滤和搜索
    • 身份验证和权限类
    • API版本控制策略
    • API性能优化
  • references/testing-strategies.md(约18k字)

    • 测试组织和结构
    • 工厂模式与fixture
    • 测试视图、模型和序列化器
    • 模拟外部服务
    • 测试数据库优化
    • CI/CD集成
  • references/security-checklist.md(约12k字)

    • CSRF保护实现
    • XSS防护技术
    • SQL注入防御
    • 身份验证最佳实践
    • 权限和授权模式
    • 安全设置配置
  • references/performance-optimization.md(约14k字)

    • 查询优化(select_related、prefetch_related、only、defer)
    • 数据库索引策略
    • 缓存层(Redis、Memcached、数据库缓存)
    • 数据库连接池
    • 分析和监控工具
    • 异步视图和后台任务
  • references/production-deployment.md(约20k字)

    • 关键设置(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查询