django-patterns
Django architecture patterns, REST API design with DRF, ORM best practices, caching, signals, middleware, and production-grade Django apps.
npx skills add vibeeval/vibecosystem --skill django-patterns --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Guides developers on building production-grade Django applications by outlining architecture patterns, project structure, and patterns for models, querysets, managers, REST framework serializers, viewsets, and a service layer. It includes concrete code snippets and folder layouts intended to be used when developing Django projects with DRF, caching, signals, and middleware.
How it works
- Activates for building Django web apps, designing DRF APIs, working with ORM/models, setting up project structure, and implementing caching, signals, and middleware.
- Provides a recommended project layout under a top-level project (config/, apps/ with sub-apps like users and products).
- Demonstrates a Split Settings pattern with base, development, and production configurations, including INSTALLED_APPS, MIDDLEWARE, DATABASES, and LOGGING.
- Shows Model Design patterns with concrete User and Product models, including Meta options, field validators, and save behavior.
- Defines QuerySet and Manager patterns to encapsulate common queries and custom creation workflows.
- Covers DRF patterns: Serializer patterns with validation and custom fields, ViewSet patterns with actions, and a custom action example.
- Includes examples of Custom Actions through function-based API views.
- Provides a Service Layer pattern for order processing with a transactional create_order method, payment processing, and email notification hooks.
- Shows caching strategies and a partial snippet for view-level caching (truncated in snippet).
When to use it
- Use when designing Django REST Framework APIs and ORM-backed models.
- Use when structuring Django projects for maintainability and scalability.
- Use when implementing caching, signals, and middleware in production-grade apps.
What it can touch
- Files and classes in examples touch Django models (User, Product), serializers (ProductSerializer, ProductCreateSerializer, UserRegistrationSerializer), viewsets (ProductViewSet), services (OrderService), and settings (config/settings/base.py, development.py, production.py).
- Commands or tool names explicitly mentioned: "ProductViewSet", "ProductSerializer", "ProductCreateSerializer", "UserRegistrationSerializer", "OrderService".
Caveats
- License stated as MIT for the skill package.
- The provided content is example code and patterns; actual behavior depends on full integration and surrounding project context.
# Django Development Patterns Production-grade Django architecture patterns for scalable, maintainable applications. ## When to Activate - Building Django web applications - Designing Django REST Framework APIs - Working with Django ORM and models - Setting up Django project structure - Implementing caching, signals, middleware ## Project Structure ### Recommended Layout ``` myproject/ ├── config/ │ ├── __init__.py │ ├── settings/ │ │ ├── __init__.py │ │ ├── base.py # Base settings │ │ ├── development.py # Dev settings │ │ ├── production.py # Production settings │ │ └── test.py # Test settings │ ├── urls.py │ ├── wsgi.py │ └── asgi.py ├── manage.py └── apps/ ├── __init__.py ├── users/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── serializers.py │ ├── urls.py │ ├── permissions.py │ ├── filters.py │ ├── services.py │ └── tests/ └── products/ └── ... ``` ### Split Settings Pattern ```python # config/settings/base.py from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent.parent SECRET_KEY = env('DJANGO_SECRET_KEY') DEBUG = False ALLOWED_HOSTS = [] INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contri
- When to Activate
- Project Structure
- Recommended Layout
- Split Settings Pattern
- Model Design Patterns
- Model Best Practices
- QuerySet Best Practices
- Manager Methods
- Django REST Framework Patterns
- Serializer Patterns
- ViewSet Patterns
- Custom Actions
- Service Layer Pattern
- Caching Strategies
What does the django-patterns skill do?
Django architecture patterns, REST API design with DRF, ORM best practices, caching, signals, middleware, and production-grade Django apps.
How do I install it?
Run `npx skills add vibeeval/vibecosystem --skill django-patterns --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From vibeeval/vibecosystem, a repository with 521 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
