Skip to main content

Django Simorgh

A beautiful, modern, fully redesigned Django admin interface.

Django Simorgh replaces the default Django admin UI with a complete custom design: dark sidebar, collapsible app groups, responsive tables, modern forms, RTL layout, 9 color themes, light/dark mode, and all assets bundled — no CDN required.


Installation

pip install django-simorgh

Django Configuration

1. Add to INSTALLED_APPS

django_simorgh must appear before your project apps and before django.contrib.admin so its custom model Meta options are registered before models are imported:

INSTALLED_APPS = [
    "django_simorgh",          # ← MUST be before django.contrib.admin
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    # ... your apps
]

2. Add context processor

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "DIRS": [],
        "APP_DIRS": True,
        "OPTIONS": {
            "context_processors": [
                "django.template.context_processors.debug",
                "django.template.context_processors.request",   # required
                "django.contrib.auth.context_processors.auth",
                "django.contrib.messages.context_processors.messages",
                "django_simorgh.context_processors.simorgh_context",  # ← add this
            ],
        },
    },
]

3. Collect static files

python manage.py collectstatic

Theme Color Configuration

# settings.py
DJANGO_ADMIN_THEME_COLOR = "green"   # default

Available values: green, blue, red, yellow, black, purple, orange, pink, navy


Branding, Logo, and Favicon Configuration

DJANGO_ADMIN_SITE_HEADER = "My Admin Panel"   # default: "Simorgh Admin"
DJANGO_ADMIN_LOGO        = "path/to/logo.png"
DJANGO_ADMIN_FAVICON     = "path/to/favicon.ico"

If logo or favicon are not set, the bundled default assets are used automatically.


Model Icon Configuration

Option 1 — Model Meta (recommended)

from django.db import models

class Product(models.Model):
    name = models.CharField(max_length=120)

    class Meta:
        simorgh_icon = "fa-solid fa-box"
        simorgh_app_icon = "fa-solid fa-store"

simorgh_icon controls the model icon. simorgh_app_icon can be defined on any model in the app and controls the sidebar app-group icon.

Because these are custom Django Meta options, keep django_simorgh before your own apps in INSTALLED_APPS.

Option 2 — Per-ModelAdmin

from django.contrib import admin
from .models import Product

@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    icon = "fa-solid fa-box"   # any Font Awesome 6 Free class string

Option 3 — Via settings

DJANGO_ADMIN_ICONS = {
    "shop": {
        "_app_icon": "fa-solid fa-store",   # icon for the app group in the sidebar
        "Product":   "fa-solid fa-box",
        "Category":  "fa-solid fa-tag",
        "Order":     "fa-solid fa-receipt",
    },
    "auth": {
        "_app_icon": "fa-solid fa-shield-halved",
        "User":      "fa-solid fa-user",
        "Group":     "fa-solid fa-users",
    },
}

Keys: app_label (outer), ModelName / _app_icon (inner).

Resolution order:

  1. Model Meta.simorgh_icon
  2. ModelAdmin.icon attribute
  3. DJANGO_ADMIN_ICONS settings dict
  4. Built-in defaults for auth, admin, contenttypes, etc.
  5. Generic fallback fa-solid fa-circle-dot

RTL Support

Set LANGUAGE_CODE to a RTL language and Django's LANGUAGE_BIDI will be True automatically. The template uses this to set dir="rtl" on the <html> element, which flips the sidebar, navbar, and tables.

Font selection is handled entirely by CSS unicode-range — no settings needed:

  • Latin/English characters → Sniglet
  • Arabic/Persian characters → Vazirmatn
LANGUAGE_CODE = "fa-ir"   # RTL layout + correct fonts — no extra config needed

License

MIT — see LICENSE for details.

Metadata

Release files for django-simorgh 1.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-simorgh 1.2.5
File Size Uploaded
django_simorgh-1.2.5.tar.gz 657.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-simorgh 1.2.5
File Interpreter ABI Platform
django_simorgh-1.2.5-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / django_simorgh-1.2.5.tar.gz

Download URL django_simorgh-1.2.5.tar.gz
Size 657.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6081d57b6fd009e350266bb5b7f68ed00f33840af88eb43b7d8a3bb730c6e602
BLAKE2b-256 checksum
How to use checksums
1688552a701ce1d040c32f522fc1a866a50ead61689a01637881761fd8d244a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / django_simorgh-1.2.5-py3-none-any.whl

Download URL django_simorgh-1.2.5-py3-none-any.whl
Size 660.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a635fc012eafcaed81fff3a2eafcf5976c9ec48f28e88eb6cebe39f23aad3158
BLAKE2b-256 checksum
How to use checksums
3607c8f35b1b64d23b8abd29198d8340dd2a15781458472be9a9a782f46af3b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

1.2.6

2 release files

This release

1.2.5 This release

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.1.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page