Should You Use the Django Admin?

Admin Magic

Should you build out "the admin" for your app or project? Or just focus on creating your own UI?

For developers new to Django, the admin is somewhat magical. It was for me, at least. It was great, with very little code, to create a user interface so quickly.

Many of the available tutorials focus on using the admin. Many third-party apps focus on adding only admin functionality, or include only basic support for functionality outside of the admin.

Some experienced Django developers have become adept at customizing the admin or working around it's limitations. Django Suit and other third-party apps make the admin look better whilst adding useful functionality (like tabs from fieldsets).

Not For Users

The Django admin is great, but one soon runs into a variety of limitations. This is to be expected because, first and foremost, the purpose of the admin is not to provide an interface for regular users.

It's for staff and administrators of a site.

Some times there are even limitations that significantly impact staff and administrators as well.

Many complain about the default style of the admin, but I feel it's not that bad. Tools such as Django Suit and Grappelli can help spruce up the look and feel of the admin, also adding some UI functionality.

But third-party tools must still work within the functional capabilities of the admin, and may lag behind the current version of Django.

In the end, I'm afraid there's no way around creating a custom UI and avoiding use of the admin.

Do we still use the admin? Sometimes. For example, when:

  1. We are creating a quick prototype and just need to enter some data.
  2. The project is only for us and we can put up with any deficiencies in the admin for a while.
  3. We want an alternative interface that is just for DevOps.

Other Thoughts

I will leave you with some additional thoughts from Buddy Lindsey:



Posted in Django by Shawn Davis, February 15, 2020