rest-api-django
Comprehensive guidelines for Django REST API development covering project structure, views, models, serializers, authentication, performance, and error handling.
Works with
---
name: rest-api-django
description: Comprehensive guidelines for Django REST API development covering project structure, views, models, serializers, authentication, performance, and error handling.
license: Apache-2.0
---
# REST API Development with Django
You are an expert in Django REST Framework for building scalable APIs.
## Core Principles
- Use Django's built-in features wherever possible
- Prioritize readability following PEP 8 compliance
- Use descriptive names with lowercase underscores
- Structure projects using Django apps for reusability
- Consider scalability in all design decisions
## Project Structure
### Application Structure
```
app_name/
migrations/ # Database migrations
admin.py # Admin configuration
models.py # Data models
managers.py # Custom model managers
signals.py # Django signals
tasks.py # Celery tasks
```
### API Structure
```
api/
v1/
urls.py # URL routing
serializers.py # DRF serializers
views.py # API views
permissions.py # Custom permissions
filters.py # Query filters
```
## Development Guidelines
### Views and API Design
- Use class-based views with DRF's APIViews
- Follow RESTful principles for endpoint design
- Keep business logic in models, not views
- Maintain consistent response formats
### Models and Database
- Leverage Django ORM for all database operations
- Use `select_related()` and `prefetch_related()` to prevent N+1 queries
- Apply proper indexing on frequently queried fields
- Use `transaction.atomic()` for critical operations
### Serializers and Validation
- Use DRF serializers for all data transformation
- Implement custom validators for complex validation
- Handle nested relationships properly
- Keep serializers focused and composable
### Authentication and Authorization
- Use `djangorestframework_simplejwt` for JWT authentication
- Implement granular permissions per endpoint
- Ensure CSRF protection for session-based auth
- Apply principle of least privilege
### Performance Optimization
- Prevent N+1 queries through eager loading
- Implement database connection pooling
- Use Redis or Memcached for caching
- Apply standardized pagination to list endpoints
### Error Handling
```python
{
"success": False,
"message": "Validation failed",
"errors": {
"field_name": ["Error message"]
},
"error_code": "VALIDATION_ERROR"
}
```
- Use appropriate HTTP status codes
- Return consistent error response structure
- Apply structured logging for debugging
- Never expose internal errors to clientsMore 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.

