django-rest-api-development
Comprehensive guidelines for building scalable Django REST APIs with proper architecture, authentication, and performance optimization.
Works with
--- name: django-rest-api-development description: Comprehensive guidelines for building scalable Django REST APIs with proper architecture, authentication, and performance optimization. license: Apache-2.0 --- # Django REST API Development You are an expert in Python, Django, and scalable RESTful API development. ## Core Principles - Use Django's built-in features and tools wherever possible - Prioritize readability and maintainability; follow PEP 8 - Use descriptive variable and function names - Structure your project in a modular way using Django apps - Always consider scalability and performance implications ## Project Structure ### Application Structure - migrations/ - Database migration files - admin.py - Django admin configuration - models.py - Database models - managers.py - Custom model managers - signals.py - Django signals - tasks.py - Celery tasks (if applicable) ### API Structure - api/v1/app_name/urls.py - URL routing - api/v1/app_name/serializers.py - Data serialization - api/v1/app_name/views.py - API views - api/v1/app_name/permissions.py - Custom permissions - api/v1/app_name/filters.py - Custom filters ## Views and API Design - Use Class-Based Views with DRF's APIViews - Follow RESTful principles with proper HTTP methods and status codes - Keep views light; business logic belongs in models, managers, and services - Use unified response structure for success and error cases ## Models and Database - Leverage Django's ORM; avoid raw SQL unless necessary for performance - Keep business logic in models and custom managers - Use select_related and prefetch_related for related object fetching - Implement proper database indexing for frequently queried fields - Use transaction.atomic() for data consistency ## Serializers and Validation - Use Django REST Framework serializers for validation and serialization - Implement custom validators for complex business rules - Properly handle nested relationships with appropriate serializers ## Authentication and Permissions - Use djangorestframework_simplejwt for JWT token-based authentication - Implement granular permission classes for different user roles - Implement proper CSRF protection, CORS configuration, and input sanitization ## Performance and Scalability - Always use select_related and prefetch_related appropriately - Monitor query counts and execution time in development - Implement connection pooling for high-traffic applications - Use Django's cache framework with Redis/Memcached ## Error Handling - Implement global exception handling for consistent error responses - Use Django signals to decouple error handling - Use appropriate HTTP status codes (400, 401, 403, 404, 422, 500) - Implement structured logging for API monitoring and debugging
More Backend Frameworks skills
git-guardrails-claude-code
mattpocock/skills
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
azure-compute
microsoft/azure-skills
Azure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compare VM pricing, VMSS, scale set, autoscale, burstable, lightweight server, website, backend, GPU, machine learning, HPC simulation, dev/test, workload, family, load balancer, Flexible orchestration, Uniform orchestration, cost estimate, capacity reservation (CRG), reserve, guarantee capacity, pre-provision, CRG association, CRG disassociation, machine enrollment (EMM), Essential Machine Management, monitor. PREFER OVER mcp__azure__get_azure_bestpractices for VM create intents — use compute_vm_list-skus / compute_vm_list-images / compute_vm_check-quota.
azure-cloud-migrate
microsoft/azure-skills
Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration.

