View all speakers
Emma Delescolle

Emma Delescolle

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.

Django-Admin-Deux: From First Steps to Custom Plugins

Long Workshop
Fri 17 Apr | 15:15
90min
NEW STAGE
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:
  1. 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
  2. A practical example: using Django-Admin-Deux (30 min)
    • Simple (migration from the stock admin)
    • Enhancements (list_display with enhanced features, Form Layout, Collections)
    • Adding custom Views and Actions
    • Permission system (from stock admin compatibility to composable permissions)
    • Visibility, debugging and testing
  3. A more advanced example: let's build a plugin (30 min)
    • Structure of a plugin
    • Minimum requirements
    • Enhancing existing Views and Actions
    • Announcing and checking feature availability
Prerequisites: - Familiarity with Django and the admin in general - Starter repository will be provided before the workshop
View session

Is it time for a Django Admin rewrite? If so, how?

Talk
Thu 16 Apr | 12:40
30min
AMPHITHEATRE
What if customizing Django's admin felt like writing any other Django view? Not just a cosmetic refresh, but a radically new approach relying on Django itself, factory-generated views and with a plugin-first design. Talk Structure:
  1. The Problem Space (5 min)
    • Django admin's 20-year legacy: what it got right and where it shows its age
    • The extension dilemma: 3rd-party ecosystem and collisions between extensions
    • Developer experience gap: different patterns for regular Django vs. admin
    • Community feedback: recurring requests that would be hard to implement
  2. Architectural Foundations (7 min)
    • View Factories: How views get generated dynamically
    • Action System: Actions are the recipes followed by view factories
    • Plugin Hooks: djp/pluggy integration and hook patterns
    • Out-of-the-box enhancements
  3. Examples & Demo (8 min)
    • Starting with familiar API: @register(Product) and list_display
    • Customizing list_display
    • Customizing layout
    • Creating your own plugins
    • Testing tools: BaseCRUDTestCase
    • Demo (pre-recorded)
  4. Migration & Adoption (4 min)
    • Running side-by-side with existing admin
    • Early adopters (well-know projects that already have plugins)
    • Extension compatibility matrix: no-effort, medium-effort, hard cases
  5. The Path Forward (2 min)
    • What's next: roadmap and timeline
    • Other potential benefits mid-term
    • Call to action
View session