Member-only story
Django Unfold Tutorial: A Better Admin Panel
Let me start off with a confession: Design-wise, Django comes with a painfully subpar default admin panel. I’m not gonna lie, it looks like it’s straight out of 2005. We can do better! Luckily for us, unfold exists. Unfold allows developers to efficiently compose Django administration panels, solving most common UI/UX problems at the same time. This post will walk you through all the steps of adding unfold to your Django project and its best features: custom navigation and a shiny dashboard!
Before we start
This post assumes you have some basic knowledge of Django, its setup and configuration, and the built-in admin panel. We take the official “Write your first Django app” tutorial as our template project. This tutorial produces a simple polls app. To help you get started, the finished tutorial code exists in the main branch of this repo. You can clone this repo if you want to code along.
What is unfold?
Django unfold is another “layer” at the top of django.contrib.admin
, where its templates and some behaviour is overridden. One of the biggest differences between unfold and other admin panels such as jazzmin and suit is that unfold is developed with TailwindCSS, opposed to bootstrap.