GitHub - unfoldadmin/django-unfold: Modern Django Admin

screenshot

PyPI - Version Discord Build Monthly downloads

Enhance Django Admin with a modern interface and powerful tools to build internal applications.

Quickstart

Install the package

pip install django-unfold

Change INSTALLED_APPS in settings.py

INSTALLED_APPS = [
    "unfold",
    # Rest of the apps
]

Use Unfold ModelAdmin

from unfold.admin import ModelAdmin

@admin.register(MyModel)
class MyModelAdmin(ModelAdmin):
    pass

Unfold works alongside the default Django admin and requires no migration of existing models or workflows. Unfold is actively developed and continuously evolving as new use cases and edge cases are discovered.

Why Unfold?

  • Built on django.contrib.admin: Enhances the existing admin without replacing it.
  • Provides a modern interface and improved workflows.
  • Designed for real internal tools and backoffice apps.
  • Incremental adoption for existing projects.

Features

  • Visual interface: Provides a modern user interface based on the Tailwind CSS framework.
  • Sidebar navigation: Simplifies the creation of sidebar menus with icons, collapsible sections, and more.
  • Dark mode support: Includes both light and dark mode themes.
  • Flexible actions: Provides multiple ways to define actions throughout the admin interface.
  • Advanced filters: Features custom dropdowns, autocomplete, numeric, datetime, and text field filters.
  • Dashboard tools: Includes helpers for building custom dashboard pages.
  • UI components: Offers reusable interface components such as cards, buttons, and charts.
  • Crispy forms: Custom template pack for django-crispy-forms to style forms with Unfold's design system.
  • WYSIWYG editor: Built-in support for WYSIWYG editing through Trix.
  • Array widget: Support for django.contrib.postgres.fields.ArrayField.
  • Inline tabs: Group inlines into tab navigation in the change form.
  • Conditional fields: Show or hide fields dynamically based on the values of other fields in the form.
  • Model tabs: Allow defining custom tab navigation for models.
  • Fieldset tabs: Merge multiple fieldsets into tabs in the change form.
  • Sortable inlines: Allow sorting inlines by dragging and dropping.
  • Command palette: Quickly search across models and custom data.
  • Datasets: Custom changelists ModelAdmin displayed on change form detail pages.
  • Environment label: Distinguish between environments by displaying a label.
  • Nonrelated inlines: Display nonrelated models as inlines in the change form.
  • Paginated inlines: Break down large record sets into pages within inlines for better admin performance.
  • Favicons: Built-in support for configuring various site favicons.
  • Theming: Customize color schemes, backgrounds, border radius, and more.
  • Font colors: Adjust font colors for better readability.
  • Changeform modes: Display fields in compressed mode in the change form.
  • Language switcher: Allow changing language directly from the admin area.
  • Infinite paginator: Efficiently handle large datasets with seamless pagination that reduces server load.
  • Parallel admin: Supports running the default admin alongside Unfold.
  • Third-party packages: Provides default support for multiple popular applications.
  • Configuration: Allows basic options to be changed in settings.py.
  • Dependencies: Built entirely on django.contrib.admin.

Third-party package support

Professional services

Need help integrating, customizing, or scaling Django Admin with Unfold?

  • Consulting: Expert guidance on Django architecture, performance, feature development, and Unfold integration. Learn more
  • Support: Assistance with integrating or customizing Unfold, including live 1:1 calls and implementation review. Fixed price, no ongoing commitment. Learn more
  • Studio: Extend Unfold with advanced dashboards, visual customization, and additional admin tooling. Learn more

dashboards

Credits