SmartBase Admin application for Django. A modern, modular, and developer-friendly admin interface for Django. Built to speed up development of admin panels but also SaaS end-user experiences — beautifully and efficiently.
A modern, modular, and developer-friendly admin interface for Django.
Built to speed up development of internal tools and admin panels — beautifully and efficiently.
SBAdminField
, database annotate()
and values()
to avoid direct object accessWant to see it in action?
👉 Check out the live demo
Login credentials:
admin / admin
editor / editor
Begin by installing the Smartbase Admin package using pip
:
pip install django-smartbase-admin
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",
]
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/
In your project, for example in config
package create a file called 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
settings.py
SB_ADMIN_CONFIGURATION = "config.sbadmin_config.SBAdminConfiguration"
Add the following middleware to support internationalization:
MIDDLEWARE = [
# Other middleware...
'django.middleware.locale.LocaleMiddleware',
]
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.