I’ve praised Django Admin in the past. It’s one of the most useful features of Django.

Despite all the advantages of Django Admin, it could still use a few improvements. One such change is adding a navigation menu in Django Admin, which we’re “fixing” in this tutorial.

When I started working with Django Admin I found it counter-intuitive to go back to homepage every time I needed to move to another module’s page. It’s something I wasn’t used to. I’m sure you’ve felt the same way (that’s why you’re here, I’m hoping!).

As developers, we’re used to navigating from one module to another directly from the navigation menu in every Admin Panel we’ve ever used. (The same goes for the client or employer you’re developing the admin panel for.) Sooner or later, you’ll likely find yourself tinkering with Django Admin templates, trying to add links to all the modules in the menu. This can get tricky.

Since the purpose of this post is to explain the procedure to add a navigation menu, we won’t be paying much attention to the design part. I’ll be using Bootstrap Navbar Component to create the UI, but you can use any other library or create your own UI from scratch.

Here’s what what our navigation menu in Django Admin will look like at the end of this tutorial: