Skip to main content

A beautiful, modern, fully redesigned Django admin template with RTL support, theming, and offline assets.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_simorgh-1.2.3.tar.gz (657.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_simorgh-1.2.3-py3-none-any.whl (660.9 kB view details)

Uploaded Python 3

File details

Details for the file django_simorgh-1.2.3.tar.gz.

File metadata

  • Download URL: django_simorgh-1.2.3.tar.gz
  • Upload date:
  • Size: 657.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for django_simorgh-1.2.3.tar.gz
Algorithm Hash digest
SHA256 ff5389e60f6c36e327667adddecbd4096e5d3049f5fd1d1b418c0cc8f8d1b1f0
MD5 53ce98bdae17b0ba6a0e58b0f4eb45af
BLAKE2b-256 956af3bac8e948944960a3dad60ac2e36048d6b85fd680ed7d553b29ad81d327

See more details on using hashes here.

File details

Details for the file django_simorgh-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: django_simorgh-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 660.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for django_simorgh-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e8605c9dc38b2614799422b7d06cae8f07ddaa736c10a4e26918ae848732af1b
MD5 6cf03a5b2ea649daacc0bc30a7ebe544
BLAKE2b-256 27c1e892ca13d0854866b4cfabee8512478cc901044b7bfa0b620139b3ee1171

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page