Blog

Thoughts, tutorials and notes on software development.

Filtered by tag: #django ✕ Clear
Wagtail Multisites and a Theming Crisis: How wagtail-visual-themes Was Born

Wagtail Multisites and a Theming Crisis: How wagtail-visual-themes Was Born

After shipping my fifth Wagtail multisite app and copy-pasting yet another tangle of brand colour overrides, I finally extracted the theming layer into its own package. This is the story of why every Wagtail project ends up reinventing theming - and the small, opinionated library that stopped me from doing it a sixth time.

Blueprints: How I Replaced Hundreds of Templates with Python Dictionaries
Architecture Django

Blueprints: How I Replaced Hundreds of Templates with Python Dictionaries

A blueprint system that turns Python dictionaries into complete admin pages - tables, filters, forms, actions, permissions, and menus - with zero HTML templates. How a decorator, a TypedDict, and a JSON contract eliminated an entire class of repetitive frontend work.

Django Admin Is the Most Underappreciated Framework Feature in All of Web Development
Architecture Django

Django Admin Is the Most Underappreciated Framework Feature in All of Web Development

Django admin renders full CRUD interfaces from model definitions alone. Most frameworks cannot even dream of this. Here is why it changed how I think about UI, how it inspired a production schema-driven form engine, and why the industry sleeps on the best idea in web development.

Five URL Patterns for Everything: How HTMX and Abstract Views Eliminated My Entire API Layer
Architecture Django

Five URL Patterns for Everything: How HTMX and Abstract Views Eliminated My Entire API Layer

What happens when you take Django's class-based views to their logical extreme? You get five URL patterns that handle full CRUD for every model in your application - no REST framework, no serializers, no client-side router. Just HTMX, convention over configuration, and a philosophical rejection of accidental complexity.