Skip to main content

A modern, extensible, premium Django admin framework.

Project description

Django Admin Forge

Modern, customizable admin UI on top of Django’s admin: same models, permissions, and ModelAdmin patterns—upgraded layout, theming, dashboard, and navigation.

Requirements: Python 3.11+, Django 4.2–5.x (see pyproject.toml).

Developing the package or running the demo? See DEVELOPMENT.md.
More detail: docs/ (architecture, configuration snippets, roadmap).

Highlights

  • Django-first AdminSite replacement (forge_admin_site)
  • Branded login, dashboard, applications browser
  • Sidebar search, header command/search, collapsible sidebar
  • Light, dark, and system themes; configurable accent colors
  • Improved changelist (filters modal, bulk actions, empty states) and change forms

Install

From PyPI:

pip install django-admin-forge

If you previously used the django-forge distribution name: switch INSTALLED_APPS and imports to django_admin_forge, rename settings to DJANGO_ADMIN_FORGE, then pip uninstall django-forge if it was installed, and install this package instead.

Quick integration

1. Add the app

django_admin_forge should be listed before django.contrib.admin so its admin templates take effect.

INSTALLED_APPS = [
    "django_admin_forge",
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    # your apps...
]

2. Mount the Forge admin site

from django.urls import path
from django_admin_forge.site import forge_admin_site

urlpatterns = [
    path("admin/", forge_admin_site.urls),
]

3. Optional: DJANGO_ADMIN_FORGE

DJANGO_ADMIN_FORGE = {
    "brand_name": "Forge Admin",
    "brand_logo_text": "FORGE",
    "brand_tagline": "Modern Django operations panel",
    "accent_color": "green",
    "default_theme": "system",  # "light" | "dark" | "system"
    "show_sidebar_search": True,
    "enable_command_bar": True,
}

Run collectstatic in production like any Django app with packaged static files.

Configuration reference

Use the DJANGO_ADMIN_FORGE dictionary in Django settings.

Key Description
brand_name Header / site title branding
brand_logo_text Compact sidebar logo text
brand_tagline Login and subtitle text
accent_color Theme accent token (buttons, highlights)
default_theme "light", "dark", or "system"
show_sidebar_search Show sidebar search
enable_command_bar Show header search / command input
menu_icons Dict of icon overrides (see below)
menu_tabs Sidebar tab entries (see below)
dashboard_analytics_cards KPI cards backed by your models (see below)

Accent colors

Supported accent_color values:

blue, green, amber, violet, emerald, teal, cyan, sky, indigo, purple, pink, rose, red, orange, yellow, lime, slate, gray, zinc, neutral, stone

DJANGO_ADMIN_FORGE = {
    "accent_color": "rose",
}

Sidebar tabs (menu_tabs)

Default: Dashboard only. Add entries with url_name (Django URL name) or url (path).

DJANGO_ADMIN_FORGE = {
    "menu_tabs": [
        {"label": "Dashboard", "url_name": "admin:index", "icon": "layout-grid"},
        {"label": "Applications", "url_name": "admin:forge-applications", "icon": "layers"},
        {"label": "Users", "url_name": "admin:auth_user_changelist", "icon": "user"},
        {"label": "Docs", "url": "/docs/", "icon": "external-link"},
    ]
}
  • label (required)
  • url_name or url
  • icon (optional; default layout-grid)

Menu icon overrides (menu_icons)

Resolution order: app_label.model_name, then model_name, then app_label, then built-in defaults (see django_admin_forge.icons).

DJANGO_ADMIN_FORGE = {
    "menu_icons": {
        "auth": "shield",
        "auth.user": "user",
        "auth.group": "users",
        "myapp.mymodel": "building",
    }
}

Dashboard analytics cards

Configure KPI tiles with real data from your models (metric: count today; optional queryset_filter).

DJANGO_ADMIN_FORGE = {
    "dashboard_analytics_cards": [
        {
            "label": "Orders",
            "app_label": "orders",
            "model": "Order",
            "metric": "count",
            "icon": "inbox",
            "hint": "All orders",
        },
        {
            "label": "Open orders",
            "app_label": "orders",
            "model": "Order",
            "metric": "count",
            "queryset_filter": {"status": "open"},
            "icon": "activity",
            "hint": "status = open",
        },
    ]
}

Fields: label, app_label, model, metric, optional queryset_filter, value, icon, hint / trend.

License

MIT. See LICENSE.

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_admin_forge-0.1.1.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

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

django_admin_forge-0.1.1-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

Details for the file django_admin_forge-0.1.1.tar.gz.

File metadata

  • Download URL: django_admin_forge-0.1.1.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_admin_forge-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3fc25c099d646e16f327fa207f3c42824c058eab37ce29f6e73df5c5b4fca109
MD5 98f4df380b74277e9285c7e364a3ebc2
BLAKE2b-256 7039585c6784d46c399853938602cb25f9dd75acf72cf14ec7a1565831555d8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_admin_forge-0.1.1.tar.gz:

Publisher: publish-pypi.yml on cartel360/django-admin-forge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_admin_forge-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_admin_forge-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c8c4dde73506a960fdf6483e25b1f51baf6e99cfb771babd4e7447d5b1d6b37
MD5 053050675f5dea20a5d83509e7a4a738
BLAKE2b-256 37cf33647edbcf10d6735f1a514e1a1bc859f4b6b361df9f6ccbdd02d79f5be7

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_admin_forge-0.1.1-py3-none-any.whl:

Publisher: publish-pypi.yml on cartel360/django-admin-forge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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