Skip to main content
image

Django SmartBase Admin

A modern, modular, and developer-friendly admin interface for Django.
Built to speed up development of internal tools and admin panels — beautifully and efficiently.


✨ Features

  • Fast integration with any Django project
  • Improved performance of Django List Admin using SBAdminField, database annotate() and values() to avoid direct object access
  • Simple configuration of menu structure, dashboard components, and permissions per user role
  • Enhanced Django List Admin filters: autocomplete support for related fields and filtering across all model fields
  • Ability for users to save and reuse custom filters in Django List Admin
  • Improved Django Detail Admin with autocomplete for relational fields
  • Support for "FakeInlines" – define inline-like blocks without requiring a direct model relationship
  • Easy extension of list and detail views with custom actions and corresponding views
  • Beautiful modern UI (Tailwind CSS)
  • Responsive & mobile-friendly
  • End-user ready for building SaaS or similar projects with global queryset configuration
  • Built-in audit logging — automatically tracks all admin create, update, and delete operations with full change history, snapshots, and request grouping
image image image image image image image image image image image image

📚 Full Documentation (in progress)

🗂 View Full Docs

🌐 Live Demo

Want to see it in action?
👉 Check out the live demo

Login credentials:

  • Admin role: admin / admin
  • Editor role: editor / editor

⚡ Quick Start

1. Install Smartbase Admin

Begin by installing the Smartbase Admin package using pip:

pip install django-smartbase-admin

PostgreSQL is the recommended database (install psycopg for it). SQLite works without it, and Postgres-only features such as array fields are then unavailable.

Ensure that django-smartbase-admin and its dependencies are included in your Django settings. Open your settings.py file and add the following to INSTALLED_APPS:

INSTALLED_APPS = [
    # other apps
    "django_smartbase_admin",
    "easy_thumbnails",
    "widget_tweaks",
    "ckeditor",
    "ckeditor_uploader",
    "nested_admin",
]

ckeditor_uploader requires an upload directory, relative to MEDIA_ROOT:

CKEDITOR_UPLOAD_PATH = "uploads/"

2. Add Admin URL Configuration

In your project’s urls.py, register the Smartbase Admin site by importing sb_admin_site and adding the path:

from django_smartbase_admin.admin.site import sb_admin_site

urlpatterns = [
    path("sb-admin/", sb_admin_site.urls),
    # other paths
]

This makes the Smartbase Admin interface accessible at /sb-admin/

3. Define the SmartBase Admin Configuration

Create a file called sbadmin_config.py in your project package, next to settings.py (for example mysite/sbadmin_config.py), with the following content:

from django_smartbase_admin.engine.configuration import SBAdminConfigurationBase, SBAdminRoleConfiguration
from django_smartbase_admin.views.dashboard_view import SBAdminDashboardView
from django_smartbase_admin.engine.menu_item import SBAdminMenuItem

config = SBAdminRoleConfiguration(
    default_view=SBAdminMenuItem(view_id="dashboard"),
    menu_items=[
        SBAdminMenuItem(view_id="dashboard", icon="All-application"),
    ],
    registered_views=[
        SBAdminDashboardView(widgets=[], title="Dashboard"),
    ],
)

class SBAdminConfiguration(SBAdminConfigurationBase):
    def get_configuration_for_roles(self, user_roles):
        return config

4. Reference the Configuration in settings.py

Use the dotted path of the file you created in step 3. With mysite/sbadmin_config.py:

SB_ADMIN_CONFIGURATION = "mysite.sbadmin_config.SBAdminConfiguration"

If the path is wrong, manage.py check reports sbadmin.E001.

5. Add Locale Middleware

Add the following middleware to support internationalization:

MIDDLEWARE = [
    # Other middleware...
    'django.middleware.locale.LocaleMiddleware',
]

Enable Django i18n URLs so {% url 'set_language' %} is available for the navigation language picker:

from django.urls import include, path

urlpatterns = [
    path("i18n/", include("django.conf.urls.i18n")),
]

🔍 Audit Logging

Built-in optional audit app that automatically tracks all admin create, update, delete, and bulk operations with field-level diffs, snapshots, and request grouping. Just add "django_smartbase_admin.audit" to INSTALLED_APPS and run migrations.

See AGENTS.md — Audit Logging for setup and configuration.

🤖 AI/Developer Reference

See AGENTS.md for development patterns, gotchas, and AI assistant instructions.

🤝 Need Help with Development?

We at SmartBase are experts in Django and custom software.

Whether you're building a new platform or modernizing an internal tool — 💡 We can help you design, build, and scale it.

📬 Let's talk — We'd love to work with you.

Metadata

Release files for django-smartbase-admin 2.5.2

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-smartbase-admin 2.5.2
File Size Uploaded Provenance Actions
django_smartbase_admin-2.5.2.tar.gz 3.9 MB With provenance Details for django_smartbase_admin-2.5.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-smartbase-admin 2.5.2
File Interpreter ABI Platform Actions
django_smartbase_admin-2.5.2-py3-none-any.whl Python 3 none any Details for django_smartbase_admin-2.5.2-py3-none-any.whl

Total release size: 8.2 MB

Release files / django_smartbase_admin-2.5.2.tar.gz

Download URL django_smartbase_admin-2.5.2.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
f6c0825ed3da4d5862422008b9f74b707e1b787cb5030cc39afd9e2a6ecd374a
BLAKE2b-256 checksum
How to use checksums
2d6fbd6eaa843500ae15460dc2e308c2dee3498ed6f21156ade9edf882e88860
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Release files / django_smartbase_admin-2.5.2-py3-none-any.whl

Download URL django_smartbase_admin-2.5.2-py3-none-any.whl
Size 4.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
858eee938433e6090abdb01b4a610de4645f17b3a480c89f355e460381b2cc4d
BLAKE2b-256 checksum
How to use checksums
f34b64962a5277e8a55843358e3fc3ad2983d6a9fb15b597bf1ce772b9fadeab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Security for django-smartbase-admin 2.5.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for django_smartbase_admin-2.5.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.5.2 This release

2 release files Full provenance

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