Django Expert
Overview
This skill provides expert guidance for Django backend development with comprehensive coverage of models, views, Django REST Framework, forms, authentication, testing, and performance optimization. It follows official Django best practices and modern Python conventions to help you build robust, maintainable applications.
Key Capabilities:
- Model design with optimal ORM patterns
- View implementation (FBV, CBV, DRF viewsets)
- Django REST Framework API development
- Query optimization and performance tuning
- Authentication and permissions
- Testing strategies and patterns
- Security best practices
When to Use
Invoke this skill when you encounter these triggers:
Model & Database Work:
- "Create a Django model for..."
- "Optimize this queryset/database query"
- "Generate migrations for..."
- "Design database schema for..."
- "Fix N+1 query problem"
View & API Development:
- "Create an API endpoint for..."
- "Build a Django view that..."
- "Implement DRF serializer/viewset"
- "Add filtering/pagination to API"
Authentication & Security:
- "Implement authentication/permissions"
- "Create custom user model"
- "Secure this endpoint/view"
Testing & Quality:
- "Write tests for this Django app"
- "Debug this Django error/issue"
- "Review Django code for issues"
Performance & Optimization:
- "This Django view is slow"
- "Optimize database queries"
- "Add caching to..."
Production Deployment:
- "Deploy Django to production"
- "Configure Django for production"
- "Set up HTTPS/SSL for Django"
- "Production settings checklist"
- "Configure production database/cache"
Instructions
Follow this workflow when handling Django development requests:
1. Analyze the Request and Gather Context
Identify the task type:
- Model design (database schema, relationships, migrations)
- View/API development (FBV, CBV, DRF viewsets, serializers)
- Query optimization (N+1 problems, database performance)
- Authentication/permissions (user models, access control)
- Testing (unit tests, integration tests, fixtures)
- Security review (CSRF, XSS, SQL injection, permissions)
- Production deployment (settings, HTTPS, database, caching, monitoring)
- Template rendering (Django templates, context processors)
Leverage available context:
- If
django-ai-boost MCP server is available, use it to understand project structure and existing patterns
- Read relevant existing code to understand conventions
- Check Django version for compatibility considerations
2. Load Relevant Reference Documentation
Based on the task type, reference the appropriate bundled documentation:
Models/ORM work -> references/models-and-orm.md
- Model design patterns and field choices
- Relationship configurations (ForeignKey, ManyToMany)
- Custom managers and QuerySet methods
- Migration strategies
View/API development -> references/views-and-urls.md + references/drf-guidelines.md
- FBV vs CBV decision criteria
- DRF serializers, viewsets, and routers
- URL configuration patterns
- Middleware and request/response handling
Performance issues -> references/performance-optimization.md
- Query optimization techniques (select_related, prefetch_related)
- Caching strategies (Redis, Memcached, database caching)
- Database indexing and query profiling
- Connection pooling and async patterns
Production deployment -> references/production-deployment.md
- Critical settings (DEBUG, SECRET_KEY, ALLOWED_HOSTS)
- HTTPS and SSL/TLS configuration
- Database and cache configuration
- Static/media file serving
- Error monitoring and logging
- Deployment process and health checks
Security concerns -> references/security-checklist.md
- CSRF/XSS/SQL injection prevention
- Authentication and authorization patterns
- Secure configuration practices
- Input validation and sanitization
Testing tasks -> references/testing-strategies.md
- Test structure and organization
- Fixtures and factories
- Mocking external dependencies
- Coverage and CI/CD integration
3. Implement Following Django Best Practices
Code quality standards:
- Follow PEP 8 and Django coding style
- Use Django built-ins over third-party packages when possible
- Keep views thin, use services/managers for business logic
- Write descriptive variable names and add docstrings for complex logic
- Handle errors gracefully with appropriate exceptions
Django-specific patterns:
- Use
select_related() for FK/OneToOne, prefetch_related() for reverse FK/M2M
- Leverage class-based views and mixins for code reuse
- Use Django forms/serializers for validation
- Follow Django's migration workflow (never edit applied migrations)
- Use Django's built-in security features (CSRF tokens, auth decorators)
API development (DRF):
- Use ModelSerializer for standard CRUD operations
- Implement proper pagination and filtering
- Use appropriate permission classes
- Follow RESTful conventions for endpoints
- Version APIs when making breaking changes
4. Validate and Test
Before presenting the solution:
Code review:
- Check for N+1 query problems (use Django Debug Toolbar mentally)
- Verify proper error handling and edge cases
- Ensure security best practices are followed
- Confirm migrations are clean and reversible
Testing considerations:
- Suggest or write appropriate tests for new functionality
- Verify test coverage for critical paths
- Check that fixtures/factories are maintainable
Performance check:
- Review database queries for efficiency
- Consider caching opportunities
- Verify proper use of database indexes
Bundled Resources
references/ - Comprehensive Django documentation loaded into context as needed
These reference files provide detailed guidance beyond this SKILL.md overview:
references/models-and-orm.md (~11k words)
- Model field types and best practices
- Relationship configurations (ForeignKey, OneToOne, ManyToMany)
- Custom managers and QuerySet methods
- Migration patterns and common pitfalls
- Database-level constraints and indexes
references/views-and-urls.md (~17k words)
- Function-based vs class-based view trade-offs
- CBV mixins and inheritance patterns
- URL routing and reverse resolution
- Middleware implementation
- Request/response lifecycle
references/drf-guidelines.md (~18k words)
- Serializer patterns (ModelSerializer, nested serializers)
- ViewSet and router configurations
- Pagination, filtering, and search
- Authentication and permission classes
- API versioning strategies
- Performance optimization for APIs
references/testing-strategies.md (~18k words)
- Test organization and structure
- Factory patterns vs fixtures
- Testing views, models, and serializers
- Mocking external services
- Test database optimization
- CI/CD integration
references/security-checklist.md (~12k words)
- CSRF protection implementation
- XSS prevention techniques
- SQL injection defense
- Authentication best practices
- Permission and authorization patterns
- Secure settings configuration
references/performance-optimization.md (~14k words)
- Query optimization (select_related, prefetch_related, only, defer)
- Database indexing strategies
- Caching layers (Redis, Memcached, database cache)
- Database connection pooling
- Profiling and monitoring tools
- Async views and background tasks
references/production-deployment.md (~20k words)
- Critical settings (DEBUG, SECRET_KEY, ALLOWED_HOSTS)
- Database configuration and connection pooling
- HTTPS/SSL configuration and security headers
- Static and media file serving
- Caching with Redis/Memcached
- Email configuration for production
- Error monitoring with Sentry
- Logging and health checks
- Zero-downtime deployment strategies
references/examples.md - Practical implementation examples
- Model design with custom managers
- N+1 query optimization
- DRF API endpoint implementation
- Writing Django tests
Additional Notes
Django Version Compatibility:
- Consider LTS releases (4.2, 5.2) for production
- Check deprecation warnings when upgrading
- Use
django-upgrade tool for automated migration
Common Pitfalls to Avoid:
- Circular imports (use lazy references)
- Missing
related_name on relationships
- Forgetting database indexes on frequently queried fields
- Using
get() without exception handling
- N+1 queries in templates and serializers
Source: saint2706/Attendance-Management-System-Using-Face-Recognition — distributed by TomeVault.
1---2name: django-expert-103description: Expert Django backend development guidance. Use when creating Django models, views, serializers, or APIs; debugging ORM queries or migrations; optimizing database performance; implementing authentication; writing tests; or working with Django REST Framework. Follows Django best practices and modern patterns. Use when this capability is needed.4---56# Django Expert78## Overview910This skill provides expert guidance for Django backend development with comprehensive coverage of models, views, Django REST Framework, forms, authentication, testing, and performance optimization. It follows official Django best practices and modern Python conventions to help you build robust, maintainable applications.1112**Key Capabilities:**13- Model design with optimal ORM patterns14- View implementation (FBV, CBV, DRF viewsets)15- Django REST Framework API development16- Query optimization and performance tuning17- Authentication and permissions18- Testing strategies and patterns19- Security best practices2021## When to Use2223Invoke this skill when you encounter these triggers:2425**Model & Database Work:**26- "Create a Django model for..."27- "Optimize this queryset/database query"28- "Generate migrations for..."29- "Design database schema for..."30- "Fix N+1 query problem"3132**View & API Development:**33- "Create an API endpoint for..."34- "Build a Django view that..."35- "Implement DRF serializer/viewset"36- "Add filtering/pagination to API"3738**Authentication & Security:**39- "Implement authentication/permissions"40- "Create custom user model"41- "Secure this endpoint/view"4243**Testing & Quality:**44- "Write tests for this Django app"45- "Debug this Django error/issue"46- "Review Django code for issues"4748**Performance & Optimization:**49- "This Django view is slow"50- "Optimize database queries"51- "Add caching to..."5253**Production Deployment:**54- "Deploy Django to production"55- "Configure Django for production"56- "Set up HTTPS/SSL for Django"57- "Production settings checklist"58- "Configure production database/cache"5960## Instructions6162Follow this workflow when handling Django development requests:6364### 1. Analyze the Request and Gather Context6566**Identify the task type:**67- Model design (database schema, relationships, migrations)68- View/API development (FBV, CBV, DRF viewsets, serializers)69- Query optimization (N+1 problems, database performance)70- Authentication/permissions (user models, access control)71- Testing (unit tests, integration tests, fixtures)72- Security review (CSRF, XSS, SQL injection, permissions)73- Production deployment (settings, HTTPS, database, caching, monitoring)74- Template rendering (Django templates, context processors)7576**Leverage available context:**77- If `django-ai-boost` MCP server is available, use it to understand project structure and existing patterns78- Read relevant existing code to understand conventions79- Check Django version for compatibility considerations8081### 2. Load Relevant Reference Documentation8283Based on the task type, reference the appropriate bundled documentation:8485- **Models/ORM work** -> `references/models-and-orm.md`86 - Model design patterns and field choices87 - Relationship configurations (ForeignKey, ManyToMany)88 - Custom managers and QuerySet methods89 - Migration strategies9091- **View/API development** -> `references/views-and-urls.md` + `references/drf-guidelines.md`92 - FBV vs CBV decision criteria93 - DRF serializers, viewsets, and routers94 - URL configuration patterns95 - Middleware and request/response handling9697- **Performance issues** -> `references/performance-optimization.md`98 - Query optimization techniques (select_related, prefetch_related)99 - Caching strategies (Redis, Memcached, database caching)100 - Database indexing and query profiling101 - Connection pooling and async patterns102103- **Production deployment** -> `references/production-deployment.md`104 - Critical settings (DEBUG, SECRET_KEY, ALLOWED_HOSTS)105 - HTTPS and SSL/TLS configuration106 - Database and cache configuration107 - Static/media file serving108 - Error monitoring and logging109 - Deployment process and health checks110111- **Security concerns** -> `references/security-checklist.md`112 - CSRF/XSS/SQL injection prevention113 - Authentication and authorization patterns114 - Secure configuration practices115 - Input validation and sanitization116117- **Testing tasks** -> `references/testing-strategies.md`118 - Test structure and organization119 - Fixtures and factories120 - Mocking external dependencies121 - Coverage and CI/CD integration122123### 3. Implement Following Django Best Practices124125**Code quality standards:**126- Follow PEP 8 and Django coding style127- Use Django built-ins over third-party packages when possible128- Keep views thin, use services/managers for business logic129- Write descriptive variable names and add docstrings for complex logic130- Handle errors gracefully with appropriate exceptions131132**Django-specific patterns:**133- Use `select_related()` for FK/OneToOne, `prefetch_related()` for reverse FK/M2M134- Leverage class-based views and mixins for code reuse135- Use Django forms/serializers for validation136- Follow Django's migration workflow (never edit applied migrations)137- Use Django's built-in security features (CSRF tokens, auth decorators)138139**API development (DRF):**140- Use ModelSerializer for standard CRUD operations141- Implement proper pagination and filtering142- Use appropriate permission classes143- Follow RESTful conventions for endpoints144- Version APIs when making breaking changes145146### 4. Validate and Test147148Before presenting the solution:149150**Code review:**151- Check for N+1 query problems (use Django Debug Toolbar mentally)152- Verify proper error handling and edge cases153- Ensure security best practices are followed154- Confirm migrations are clean and reversible155156**Testing considerations:**157- Suggest or write appropriate tests for new functionality158- Verify test coverage for critical paths159- Check that fixtures/factories are maintainable160161**Performance check:**162- Review database queries for efficiency163- Consider caching opportunities164- Verify proper use of database indexes165166## Bundled Resources167168**references/** - Comprehensive Django documentation loaded into context as needed169170These reference files provide detailed guidance beyond this SKILL.md overview:171172- **`references/models-and-orm.md`** (~11k words)173 - Model field types and best practices174 - Relationship configurations (ForeignKey, OneToOne, ManyToMany)175 - Custom managers and QuerySet methods176 - Migration patterns and common pitfalls177 - Database-level constraints and indexes178179- **`references/views-and-urls.md`** (~17k words)180 - Function-based vs class-based view trade-offs181 - CBV mixins and inheritance patterns182 - URL routing and reverse resolution183 - Middleware implementation184 - Request/response lifecycle185186- **`references/drf-guidelines.md`** (~18k words)187 - Serializer patterns (ModelSerializer, nested serializers)188 - ViewSet and router configurations189 - Pagination, filtering, and search190 - Authentication and permission classes191 - API versioning strategies192 - Performance optimization for APIs193194- **`references/testing-strategies.md`** (~18k words)195 - Test organization and structure196 - Factory patterns vs fixtures197 - Testing views, models, and serializers198 - Mocking external services199 - Test database optimization200 - CI/CD integration201202- **`references/security-checklist.md`** (~12k words)203 - CSRF protection implementation204 - XSS prevention techniques205 - SQL injection defense206 - Authentication best practices207 - Permission and authorization patterns208 - Secure settings configuration209210- **`references/performance-optimization.md`** (~14k words)211 - Query optimization (select_related, prefetch_related, only, defer)212 - Database indexing strategies213 - Caching layers (Redis, Memcached, database cache)214 - Database connection pooling215 - Profiling and monitoring tools216 - Async views and background tasks217218- **`references/production-deployment.md`** (~20k words)219 - Critical settings (DEBUG, SECRET_KEY, ALLOWED_HOSTS)220 - Database configuration and connection pooling221 - HTTPS/SSL configuration and security headers222 - Static and media file serving223 - Caching with Redis/Memcached224 - Email configuration for production225 - Error monitoring with Sentry226 - Logging and health checks227 - Zero-downtime deployment strategies228229- **`references/examples.md`** - Practical implementation examples230 - Model design with custom managers231 - N+1 query optimization232 - DRF API endpoint implementation233 - Writing Django tests234235## Additional Notes236237**Django Version Compatibility:**238- Consider LTS releases (4.2, 5.2) for production239- Check deprecation warnings when upgrading240- Use `django-upgrade` tool for automated migration241242**Common Pitfalls to Avoid:**243- Circular imports (use lazy references)244- Missing `related_name` on relationships245- Forgetting database indexes on frequently queried fields246- Using `get()` without exception handling247- N+1 queries in templates and serializers248249---250> Source: [saint2706/Attendance-Management-System-Using-Face-Recognition](https://github.com/saint2706/Attendance-Management-System-Using-Face-Recognition) — distributed by [TomeVault](https://tomevault.io).251<!-- tomevault:4.0:skill_md:2026-06-15 -->