2026-04-17 –, NEW STAGE
Django's built-in admin is powerful, but it's essentially a separate framework within Django and it's 20 years old.
Wouldn't it be nice to be able to work with an admin interface that works like the rest of Django, built on generic views, plugins, and view factories? This is the idea behind Django-Admin-Deux: a proof-of-concept Django admin replacement where CRUD operations are just actions, knowledge transfers both ways, and everything feels like Django.
This workshop will explore the concepts behind Django-Admin-Deux in details and we will build together:
- an application that uses it
- a custom plugin
What if customizing Django's admin felt like writing any other Django view? Django-Admin-Deux aims at doing just that. It is not just a cosmetic refresh, it's a radically new approach relying on factory-generated views with a plugin-first design. Let's have a closer look!
Workshop Structure:
- Architectural Foundations (20 min)
- View Factories: How Django-Admin-Deux generates views dynamically
- Action System: Actions are the recipes followed by view factories, including non-model-related ones like dashboards
- Plugin Hooks: what hooks are available?
- Dataclasses: Django-Admin-Deux uses a series of dataclasses to make extending it type-safe and practical, let's look at them
- A practical example: using Django-Admin-Deux (30 min)
- Simple (migration from the stock admin)
- Enhancements (
list_displaywith enhanced features, FormLayout,Collections) - Adding custom
Views andActions - Permission system (from stock admin compatibility to composable permissions)
- Visibility, debugging and testing
- A more advanced example: let's build a plugin (30 min)
- Structure of a plugin
- Minimum requirements
- Enhancing existing
Views andActions - Announcing and checking feature availability
Prerequisites:
- Familiarity with Django and the admin in general
- Starter repository will be provided before the workshop
Architecture, Django Admin
Audience Level:Intermediate
Long-time pythonista, PSF & DSF member, Django fan, electronics enthusiast, author of django-admin-deux and other OSS libraries
I am from Belgium and have been involved in open-source at different levels for about 20 years. I am a member of the Django Steering Council for the 6.x cycle.
One of the things I enjoy the most is sharing knowledge with others. And this is why I enjoy writing tutorials as well as giving talks and workshops.