技能 Django Pro
📦

Django Pro

安全

构建生产就绪的 Django 应用程序

Django 开发者常常在复杂的架构决策和现代 Django 5.x 特性方面遇到困难。本技能提供关于异步视图、DRF、Celery 和可扩展模式的专业指导,帮助构建可维护的 Web 应用程序。

支持: Claude Codex Code(CC)
🥉 72 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“Django Pro”。 优化获取作者及其文章和评论的 queryset

预期结果:

使用 select_related 和 prefetch_related 消除 N+1 查询:

Author.objects.select_related('profile').prefetch_related(
'posts',
'posts__comments',
'posts__tags'
).annotate(
post_count=Count('posts', distinct=True),
comment_count=Count('posts__comments', distinct=True)
)

这将数据库查询从 1 + N + (N*M) 减少到仅 3 个查询。

正在使用“Django Pro”。 创建用于对象级访问的自定义权限类

预期结果:

对象级权限,仅允许作者编辑其文章:

class IsAuthorOrReadOnly(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
if request.method in permissions.SAFE_METHODS:
return True
return obj.author == request.user

应用于 ModelViewSet,设置 permission_classes = [IsAuthenticated, IsAuthorOrReadOnly]

安全审计

安全
v1 • 2/24/2026

This is a prompt-only instructional skill with no executable code. Static analysis scanned 0 files and detected 0 security issues with a risk score of 0/100. The skill provides Django development guidance and best practices without any code execution, network access, or file system operations. Safe for publication.

0
已扫描文件
0
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
74
规范符合性

你能构建什么

企业级 Django 架构

设计可扩展的多租户 SaaS 应用程序,采用适当的服务层模式、仓库抽象和环境特定配置。

使用 DRF 进行 API 开发

使用 Django REST Framework 实现具有 JWT 身份验证、自定义权限、viewsets 和全面 API 文档的 RESTful API。

性能优化

识别和解决 N+1 查询问题,实现数据库索引策略,并为高流量 Django 应用程序配置缓存层。

试试这些提示

Django 模型设计
创建一个博客文章 Django 模型,包含标题、内容、作者、标签和发布日期。包括适当的索引、用于已发布文章的自定义管理器,以及 __str__ 方法。遵循 Django 5.x 约定。
DRF API 端点
构建一个用于用户注册的 Django REST Framework API 端点,包含电子邮件验证。包括带有验证的序列化器、viewset、JWT 令牌生成,以及使用 Celery 排队的电子邮件发送任务。
异步视图优化
将此同步 Django 视图转换为异步视图,并发地从三个外部 API 获取数据。使用 asyncio.gather,添加适当的错误处理,并为每个请求实现超时限制。
Django Channels WebSocket
使用 Django Channels 实现 WebSocket 消费者,用于实时聊天功能。包括连接处理、向房间组广播消息、数据库消息持久化,以及 Redis 通道层配置。

最佳实践

  • 在添加第三方包之前先使用 Django 的内置功能,以减少依赖和维护负担
  • 在模型中实现数据库级约束以及应用级验证,以确保数据完整性
  • 在多个级别编写测试:针对模型和工具类的单元测试,针对视图和 API 的集成测试,针对关键用户流程的端到端测试

避免

  • 将业务逻辑放在视图或模板中,而不是使用服务层来实现关注点分离
  • 在循环中使用 filter() 而不是批量操作或正确连接的查询,导致 N+1 查询问题
  • 将机密信息存储在 settings.py 中,而不是使用带有 django-environ 或类似包的环境变量

常见问题

本技能支持哪些 Django 版本?
本技能专注于 Django 5.x 特性,包括异步视图、中间件和 ORM 改进。它还涵盖与 Django 4.x 兼容的模式。
本技能能帮助学习 Django REST Framework 吗?
是的,DRF 是核心能力之一。本技能涵盖 viewsets、序列化器、身份验证、权限、分页、过滤和 API 版本控制策略。
本技能是否提供部署指导?
是的,它涵盖生产部署,包括 Docker 容器化、WSGI/ASGI 服务器配置、静态文件服务和环境管理。
本技能能帮助进行数据库优化吗?
是的,它提供 ORM 查询优化、数据库索引、连接池、使用 django-debug-toolbar 进行查询分析,以及 PostgreSQL 特定特性的指导。
本技能是否涵盖测试策略?
是的,它涵盖 pytest-django、factory_boy、Django TestCase 类、API 测试、覆盖率分析,以及使用 django-silk 进行性能测试。
本技能适合 Django 初学者吗?
本技能涵盖从初级到高级的主题。初级开发者获得基础 Django 模式,而有经验的开发者获得复杂架构和优化的指导。

开发者详情

文件结构

📄 SKILL.md