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, databaseannotate()andvalues()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
📚 Full Documentation (in progress)
🌐 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.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django_smartbase_admin-2.5.1.tar.gz | 3.9 MB | With provenance | Details for django_smartbase_admin-2.5.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| django_smartbase_admin-2.5.1-py3-none-any.whl | Python 3 | none | any | Details for django_smartbase_admin-2.5.1-py3-none-any.whl |
Total release size: 8.2 MB
Release files / django_smartbase_admin-2.5.1.tar.gz
| Download URL | django_smartbase_admin-2.5.1.tar.gz |
|---|---|
| Size | 3.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31919ede9da8181bcf3a5d6943917ff2502d5184279362cdfa04712a2a296a7c
|
|
BLAKE2b-256 checksum How to use checksums |
32264e699b35a15c10d83b6e46724c6d82986c5d7eb45e24effef17431930f4e
|
| 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 21, 2026.
Transparency logRelease files / django_smartbase_admin-2.5.1-py3-none-any.whl
| Download URL | django_smartbase_admin-2.5.1-py3-none-any.whl |
|---|---|
| Size | 4.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f2ab13c26aa8a07032ea9d3e956b19b17eb3ecf36641dd6bc9fed66db3092ff4
|
|
BLAKE2b-256 checksum How to use checksums |
f0a891ba42626e48c66a5eddccb0010b96e7f0027b5e303d8e539f6bed8adb11
|
| 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 21, 2026.
Transparency logSecurity for django-smartbase-admin 2.5.1
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.
Attestation for django_smartbase_admin-2.5.1.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 21, 2026.
Transparency logA 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.