Last month, Lincoln Loop gave a talk at EuroDjangoCon about customizing the Django admin interface. After presenting some of the admin customizations we had done on Gondola, I had a bunch of people get in touch with me asking me to do a write-up about how it was done. After about 8 months of heel-dragging, I finally took the time to do it in presentation form.

Our talk was divided into two parts. First our User Experience Director, Michael, gave an overview of user interface design and why it is important, pulling examples from some real-world interfaces. Comparing the default Django admin to a custom built application specific interface was an intentional cheap-shot to get people to think outside-the-box when working with the admin. Our argument was that it is possible to recreate any of the example interfaces while still leveraging some of the power baked into django.contrib.admin.

After describing the elements that make a great user interface, Michael walked through a typical UI process from planning to low-fidelity paper sketches to high-fidelity mockups of a theoretical (at least for now) improved admin interface to Satchmo, Django’s powerful e-commerce system.

Following Michael’s overview, I discussed a few of the different hooks built into the Django admin for customization and the pros and cons of each. The options we looked at were:

  • ModelAdmin media
  • Custom templates
  • ModelAdmin/ModelForm hacking
  • Custom views

Download the Slide Deck

We received some great feedback on our talk and really enjoyed the EuroDjangoCon experience (thanks Robert). If you are interested in having Lincoln Loop speak at an upcoming event or have a suggestion of a talk you’d like to hear, drop us a line.