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:
- Model
Meta.simorgh_icon ModelAdmin.iconattributeDJANGO_ADMIN_ICONSsettings dict- Built-in defaults for
auth,admin,contenttypes, etc. - 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.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_simorgh-1.2.6.tar.gz | 658.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_simorgh-1.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / django_simorgh-1.2.6.tar.gz
| Download URL | django_simorgh-1.2.6.tar.gz |
|---|---|
| Size | 658.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
709d49e4ba13696ef3b39105813324f0d16f68fd5dfd59d937616604b53a62eb
|
|
BLAKE2b-256 checksum How to use checksums |
9f2efd78d5e46a5987d0ddcbe05f9b0c4fb5f7b80eccec7118f0324e82e1c0ab
|
| 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.6-py3-none-any.whl
| Download URL | django_simorgh-1.2.6-py3-none-any.whl |
|---|---|
| Size | 662.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e43382a374cc8970015edccba553d3589b72eaef3f19cb958d92f28eee2844e2
|
|
BLAKE2b-256 checksum How to use checksums |
5fa49ae5e22952f261dfd3f37d8fc699932402219f85e4efb33c740318c4c35d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|