Install Vanta Admin in your Django project
Add the package, put the theme before Django admin, collect static files, and keep using the admin you know.
1. Install the package
Install vanta-admin from PyPI with uv or pip.
uv add vanta-admin
pip install vanta-admin
2. Add the Django app
Add vanta_admin to INSTALLED_APPS before django.contrib.admin. This order lets Vanta's admin templates override Django's defaults.
INSTALLED_APPS = [
"vanta_admin",
"django.contrib.admin",
# ...
]
3. Collect static files
Run Django's usual collectstatic command before deploying. This makes the packaged CSS, JavaScript, and favicon available to your static-file setup.
uv run python manage.py collectstatic
python manage.py collectstatic
4. Update Vanta Admin
To update with uv, upgrade vanta-admin in the lockfile, then sync your environment. With pip, use the upgrade command below.
uv lock --upgrade-package vanta-admin
uv sync
pip install --upgrade vanta-admin
5. Keep your branding
Vanta changes the admin's appearance; your project still controls the text shown in the browser tab, header, and admin index.
from django.contrib import admin
admin.site.site_header = "Your Admin"
admin.site.site_title = "Your Admin"
admin.site.index_title = "Your Admin"
6. Optional 2FA templates
If your project already uses django-two-factor-auth, Vanta can theme its visible screens too. It doesn't install, enable, or configure two-factor authentication for you.
INSTALLED_APPS = [
"vanta_admin",
"django_otp",
"django_otp.plugins.otp_static",
"django_otp.plugins.otp_totp",
"two_factor",
"django.contrib.admin",
# ...
]
Check the admin after installation
Start your Django project, open your admin, and check the login screen, sidebar, changelists, forms, messages, and mobile layout. Vanta stays server-rendered and doesn't change Django admin behavior, permissions, URLs, or database models.