Installation¶
For Jinja2 support:
Full admin replacement¶
Replace django.contrib.admin with django_admin_boost.admin in your settings:
INSTALLED_APPS = [
"django_admin_boost.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
...
]
TEMPLATES = [
{
"BACKEND": "django.template.backends.jinja2.Jinja2",
"APP_DIRS": True,
"OPTIONS": {
"environment": "django_admin_boost.admin.jinja2_env.environment",
"context_processors": [
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
},
},
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
},
},
]
Then use django_admin_boost.admin instead of django.contrib.admin in your admin modules:
import django_admin_boost.admin as admin
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ["name", "status", "created_at"]
Standalone mixins only¶
If you just want the performance mixins with stock Django admin:
from django.contrib.admin import ModelAdmin
from django_admin_boost import ListOnlyFieldsMixin, EstimatedCountPaginator
class MyModelAdmin(ListOnlyFieldsMixin, ModelAdmin):
list_only_fields = ["id", "name", "status"]
paginator = EstimatedCountPaginator
No app registration needed — just import the mixins.