Change the future

Saturday 2:35 p.m.–3:05 p.m.

Customizing the Django Admin: The How and the Why

Lakshman Prasad

Audience level:
Industry Uses


The abstraction and the flexibility the Django admin offers is matched by few software, even today after half a decade of it's introduction. The speaker has customized it in many ways over the years. This talk reminisces over how supposedly large real world problems could be solved with relatively less development by leveraging the power of django admin and using a few techniques.


Some of the common ways of customizing of the Django admin are well documented. Namely:

  • Changing the templates for a given model or for all the models.
  • Displaying custom methods in the list view.
  • Using aggregation, annotation to sort and add custom filters.
  • Overriding the ModelAdmin class and the classes for ListView.

The talk will cover all the above methods; but will also cover some of the other techniques and how they can add a lot of value with little effort, namely:

  • Using multiple admin sites effectively.
  • Using proxy models to create multiple list views for the same model.
  • Using row level, model level and site level permissions effectively.
  • Using simple forms that can be integrated within the admin list view and other simple techniques before resorting to overriding the list view.
  • Using many open source solutions that enhance the experience of using/customizing the Django admin.

The docs cover many of the how to do things; but don't let you know why you might want to do such a thing.