When should the default admin stop being the default

A question that often gets asked by newbies and perhaps those under pressure to deliver a finished product is "How can I get the admin to do X?" or "How do I customise the admin?"

The Django Admin is an amazing tool that we get for free and while a bit dated in it's look and feel, it is definitely something you would have to pay for in other circumstances. That said it is not your frontend, it should not be exposed to normal users and ideally staff ought to have limited access. Ideally it ought to be just for the development team to make easy data fixes.

The reality in most codebases is that it's a great start for internal staff users to get stuff done with the database and fix issues with customer data or add in content to the site.

The time to move away from the admin is when the following starts to happen:

  • You start to heavily customise templates to meet the needs of non technical users
  • You need to implement a custom workflow that covers multiples consecutive steps or models.
  • You have strict compliance needs that need to be addressed.

At this point make sure to give yourself enough time and capacity to recreate the pages your internal users need and previously had in the Django admin.