Skip to main content

Overview

Django Unfold seamlessly integrates with popular Django packages to extend your admin interface capabilities. These integrations maintain Unfold’s modern design while adding powerful features to your application.

Django Guardian

Object-level permissions management

Django Import Export

Import and export data in multiple formats

Django Simple History

Track model changes and version history

Django Constance

Dynamic settings management

Django Celery Beat

Periodic task scheduling

Django Modeltranslation

Multilingual content management

Django Money

Monetary value handling

Django Location Field

Geographic location widgets

DjangoQL

Advanced search queries

Django JSON Widget

Enhanced JSON field editing

Integration Approach

Unfold integrations follow a consistent pattern:
1

Install the package

Install the third-party package using pip according to its official documentation.
2

Add Unfold contrib app

Add the corresponding unfold.contrib.* app to your INSTALLED_APPS setting, typically before the original package.
3

Configure your admin

Update your ModelAdmin classes to inherit from both Unfold’s ModelAdmin and the package’s admin class.
Some packages like Django Money and DjangoQL work out-of-the-box with Unfold without requiring additional configuration.

Installation Requirements

Most integrations require adding their corresponding app to your INSTALLED_APPS:
settings.py
INSTALLED_APPS = [
    "unfold",  # Unfold must come first
    
    # Unfold contrib apps (before their corresponding packages)
    "unfold.contrib.guardian",
    "unfold.contrib.import_export",
    "unfold.contrib.simple_history",
    "unfold.contrib.constance",
    "unfold.contrib.location_field",
    
    # Django apps
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    
    # Third-party packages
    "guardian",
    "import_export",
    "simple_history",
    "constance",
    "location_field",
    
    # Your apps
    "myapp",
]
The order matters! Unfold contrib apps must be placed before their corresponding third-party packages to ensure proper template overriding.

Feature Compatibility

IntegrationTemplate OverrideCustom WidgetsAdmin ClassesAuto-Styling
Django Guardian--
Django Import Export
Django Simple History--
Django Constance--
Django Celery Beat-Manual
Django Modeltranslation--
Django Money--
Django Location Field-
DjangoQL---
Django JSON Widget---

Live Demos

Explore these integrations in action at our demo site:

View Live Demo

See all integrations working together in a real Django admin interface

Getting Help

If you encounter issues with any integration:
  1. Check the integration-specific documentation page
  2. Review the official package documentation
  3. Visit the Django Unfold GitHub repository
  4. Join the community discussions
Most integration issues can be resolved by ensuring the correct INSTALLED_APPS order and proper admin class inheritance.

Build docs developers (and LLMs) love