python-django

A full-stack Python web framework that includes database models, an admin interface, user authentication, forms, templates, and migrations. Full-stack means it supports both server-side application logic and web pages.

In plain words
What is it for?
Use it to build Python websites and web applications with users, database-backed models, views, URLs, forms, administration, and tests.
Why use it?
It gives applications common web features and a predictable structure without requiring each feature to be assembled separately.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/plazmodium/odin-workflow/python-django
Any agent
npx skills add Plazmodium/odin-workflow --skill python-django
Clone the repo
git clone --depth 1 https://github.com/Plazmodium/odin-workflow

Made for: Claude Code, Codex.

Per session 18 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 921 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00018 $0.00921
Opus 5 $0.00009 $0.00461
Sonnet 5 $0.00004 $0.00184
Haiku 4.5 $0.00002 $0.00092

Measured yesterday against content hash 9bb406a12e22, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

python-django scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/skills/backend/python-django/SKILL.md · 129 lines

How it starts

The opening of the file, as written. The whole thing — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Python Django

Overview

Django is a high-level Python web framework that follows the "batteries included" philosophy. It provides ORM, admin, auth, forms, and templating out of the box.

Project Structure

project/
├── manage.py
├── config/
│   ├── settings/
│   │   ├── base.py          # Shared settings
│   │   ├── development.py   # Dev overrides
│   │   └── production.py    # Prod overrides
│   ├── urls.py              # Root URL conf
│   └── wsgi.py
├── apps/
│   └── users/
│       ├── models.py        # Database models
│       ├── views.py         # View logic
│       ├── serializers.py   # DRF serializers (if API)
│       ├── urls.py          # App URL routes
│       ├── admin.py         # Admin config
│       ├── services.py      # Business logic
│       ├── tests/
│       │   ├── test_models.py
│       │   └── test_views.py
│       └── migrations/
└── requirements/
    ├── base.txt
    └── dev.txt

Core Patterns

Models

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    email = models.EmailField(unique=True)
    bio = models.TextField(blank=True, default="")

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = ["username"]

    class Meta:
        ordering = ["-date_joined"]

    def __str__(self):
        return self.email

Views (DRF)

from rest_framework import viewsets, permissions, status
from rest_framework.decorators import action
from rest_framework.response import Response

class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = [permissions.IsAuthenticated]

    def get_queryset(self):
        return self.queryset.filter(is_active=True)

    @action(detail=False, methods=["get"])
    def me(self, request):
        serializer = self.get_serializer(request.user)
        return Response(serializer.data)

Services Layer

# apps/users/services.py — keep business logic out of views
class UserService:
    @staticmethod
    def create_user(email: str, password: str, **kwargs) -> User:
        user = User.objects.create_user(email=email, password=password, **kwargs)
        send_welcome_email.delay(user.id)  # Celery task
        return user

Read the full file on GitHub · 129 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 129 lines · 18 tokens per session scan A 9bb406a12e22

Subscribe to this mod's changes

python-django is a skill published in the GitHub repository Plazmodium/odin-workflow (0 stars, last pushed 3mo ago), licensed MIT. It adds 18 tokens to every session and 921 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.