Learn how to transform the default Django admin into a modern, branded, and user-friendly dashboard using Jazzmin.

Custom Your Django Admin Panel with Jazzmin

The Django admin panel is one of the framework’s most powerful features, but its default look and feel can be limiting for real-world projects. In this article, you’ll discover how to customize your Django admin using Jazzmin to create a cleaner, more intuitive, and professional interface, without sacrificing the speed and reliability Django is known for.

As a best practice, you should keep customizations purposeful focus on usability, consistent branding, clear navigation, and performance, while avoiding excessive visual clutter or unnecessary plugins.

The process is straightforward: install Jazzmin, add it to your Django project, configure branding and layout options in settings.py, customize menus and icons to match your domain logic, and finally test the admin with real users to ensure clarity and efficiency. This approach lets you enhance the admin experience while preserving Django’s robustness and maintainability.

Let’s dive in! 🚀

Below is a clean, step-by-step guide to customizing your Django Admin panel with Jazzmin, from installation to theming.

Step 1: Installation

Start by installing the latest version of Jazzmin: pip install django-jazzmin

Once installed, add jazzmin to your INSTALLED_APPS.
⚠️ Important: It must be placed before django.contrib.adminto override Django Admin styles.

If this order is wrong, no Bootswatch theme will apply, even if configured correctly.

INSTALLED_APPS = [
    'jazzmin',

    'django.contrib.admin',
    ...
]

That’s it! Your admin panel is already using Jazzmin 🎉

To se it in action, assuming you ahve already create a supperuser to access django admin, just connect to your django admin : http://localhost:8000/admin/

You should have something like this:

Step 2: Basic Configuration

Jazzmin is configured using the JAZZMIN_SETTINGS dictionary inside your settings.py.

Add the following at the end of your settings.py file:

# Jazzmin Admin Configurations
JAZZMIN_SETTINGS = {
    # Title on the login screen (19 chars max)
    "site_header": "API E-Commerce Admin",
# Title on the brand (19 chars max)
    "site_brand": "Easy mart API integration...",
# Copyright text shown in the footer
    "copyright": "FYARDLEST - All Right Reserved @ Copyright 2026",
# Add a language dropdown into the admin (optional)
    # "language_chooser": True,
}
# End of JAZZMIN_SETTINGS

 

What this does:

  • Personalizes your admin branding

  • Makes your dashboard feel professional and product-ready

  • Keeps configuration centralized and easy to maintain

Step 3: Customize the Theme (Dark Mode & Styles)

Jazzmin supports multiple UI themes powered by Bootswatch.

🔗 You can explore available themes here: https://bootswatch.com/

Steps to Make Bootswatch Themes Work Correctly in Jazzmin

1. Understand How Jazzmin Uses Bootswatch

Jazzmin does not require you to install Bootswatch manually.
All Bootswatch themes are already bundled with Jazzmin and loaded automatically via static files.

👉 This means:

  • ❌ No npm

  • ❌ No CDN

  • ❌ No extra downloads

You only need to reference the correct theme name.

To change the default theme or enable dark mode, add the following after JAZZMIN_SETTINGS:

# Jazzmin UI Theme Configurations
JAZZMIN_UI_TWEAKS = {
    "theme": "solar",
    "dark_mode_theme": "darkly",
}
# End of JAZZMIN_UI_TWEAKS

Important rules:

  • Use only Bootswatch theme names

  • Must be lowercase

  • Must exist on bootswatch.com

Here is the defalist you can try:

['default', 'cerulean', 'cosmo', 'flatly', 'journal', 'litera', 'lumen', 'lux', 'materia', 'minty', 'pulse', 'sandstone', 'simplex', 'sketchy', 'spacelab', 'united', 'yeti', 'darkly', 'cyborg', 'slate', 'solar', 'superhero']

If you want you can also add inJAZZMIN_SETTINGS:

"show_ui_builder": True,

You will see the following icon in your admin panel. you can play with it:

Collect Static Files (Critical)

Bootswatch CSS is served via Django static files.

Run: python manage.py collectstatic

This step is mandatory in production and often required locally after first setup.

  • Restart the Django Server: python manage.py runserver

Tips:

  • Use a light theme for readability in data-heavy dashboards

  • Enable dark mode for better comfort during long admin sessions

  • Always test contrast and accessibility

Best Practices Recap ✅

  • Keep branding minimal and consistent

  • Avoid over-customization that impacts usability

  • Test your admin panel with real users or staff

  • Treat the admin as a core internal product, not just a dev tool

With these steps, your Django admin instantly becomes cleaner, modern, and production-ready without losing the power Django provides out of the box.

For more configuration see: https://django-jazzmin.readthedocs.io/configuration/ 

Yardley Estiverne
Yardley Estiverne
AI MVP & Software Developer | AI Tech Entrepreneur

AI MVP Developer - Blazor, C# .NET Developer with good crafted hands-on experience in developing and deploying robust web solutions. Proficient in .NET programming and its associated libraries, with understanding of SQL practices. I also create backend application using Django Rest Framework.

LinkedIn:Yardley

No comments