Home >Backend Development >Python Tutorial >Simplify Your Django Admin with django-unfold
Django's built-in admin is incredibly powerful and highly customizable. However, customizing it from scratch can be time-consuming and daunting. Fortunately, there's an amazing package to address this issue: django-unfold. Built on top of Tailwind CSS, it’s not only powerful but also polished and highly customizable.
In this post, I’ll walk you through what django-unfold is, how to integrate it into your project, and how it can make managing your Django admin more intuitive.
Unfold is a theme for the Django admin interface that incorporates best practices for building full-fledged admin areas. It is designed to enhance and extend the default administration features provided by Django.
For more details, visit their official website.
Install the package via pip:
pip install django-unfold
Add unfold to your INSTALLED_APPS in settings.py:
INSTALLED_APPS = [ "unfold", # Add this before django.contrib.admin "django.contrib.admin", ]
In your app's admin.py, use django-unfold like this:
from django.contrib import admin from .models import Doctor from unfold.admin import ModelAdmin as UnfoldModelAdmin @admin.register(Doctor) class DoctorAdmin(UnfoldModelAdmin): pass
If you want to customize filters and other admin options, you can do so like this:
@admin.register(Doctor) class DoctorAdmin(UnfoldModelAdmin): list_display = ( "first_name", "last_name", "specialization", "years_of_experience", "available", "date_joined", ) list_filter = ("specialization", "available", "gender") search_fields = ("first_name", "last_name", "email", "phone")
Below is an example of how django-unfold transforms the default Django admin theme:
If you found this helpful, let me know by leaving a ? or a comment!, or if you think this post could help someone, feel free to share it! Thank you very much!
The above is the detailed content of Simplify Your Django Admin with django-unfold. For more information, please follow other related articles on the PHP Chinese website!