Registry / web-framework / django-admin-tools

django-admin-tools

JSON →
library0.9.3pypypi✓ verified 84d ago

django-admin-tools is a collection of utilities for the Django administration interface, providing features like a customizable dashboard, menu system, and theming. The current version is 0.9.3. While it supports recent Django versions, its release cadence is slow, with the last release in 2021, suggesting a maintenance-focused development.

pip install django-admin-tools
INSTALL
IMPORT
SIG · DJANGO-ADMIN-TOOLS
D
django-admin-tools
web-frameworkpythonv0.9.3
Install
1.6s avg
Import
Disk
18MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.9.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.915 runs
installs and imports cleanly · install 0.0s · import 0.000s · 19.6MB
glibc
py 3.103.915 runs
installs and imports cleanly · install 1.6s · import 0.000s · 20MB
18MB installed
● package 18MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

VERSION
from admin_tools import VERSION
from admin_tools.dashboard.models import Dashboard

To integrate django-admin-tools, add its apps to `INSTALLED_APPS` in `settings.py` (ensure `admin_tools.theming` is first, and all `admin_tools` apps come before `django.contrib.admin`). Then, include `admin_tools.urls` in your project's `urls.py`, making sure it comes *before* `admin.site.urls` to avoid `NoReverseMatch` errors. Note the use of `re_path` for compatibility with Django 4.0+.

# settings.py INSTALLED_APPS = [ 'admin_tools.theming', 'admin_tools', 'admin_tools.menu', 'admin_tools.dashboard', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # ... your other apps ] # urls.py from django.contrib import admin from django.urls import include, path, re_path urlpatterns = [ re_path(r'^admin_tools/', include('admin_tools.urls')), path('admin/', admin.site.urls), # ... your other url patterns ]
Debug
Known issues
gotchaThe order of URL inclusion for `admin_tools.urls` and `admin.site.urls` is critical. `admin_tools.urls` must always be included *before* `admin.site.urls` in your main `urls.py`.
fix
Ensure `re_path(r'^admin_tools/', include('admin_tools.urls'))` appears before `path('admin/', admin.site.urls)` in your project's `urls.py`.
affects: All versions
gotchaFor custom themes to apply correctly, `admin_tools.theming` must be the *very first* application listed in your `INSTALLED_APPS` setting.
fix
Move `'admin_tools.theming'` to the beginning of your `INSTALLED_APPS` list in `settings.py`.
affects: All versions
gotchaWhen customizing the dashboard or menu, you need to explicitly define `ADMIN_TOOLS_DASHBOARD` and `ADMIN_TOOLS_MENU` in your `settings.py` to point to your custom classes.
fix
Add `ADMIN_TOOLS_DASHBOARD = 'your_project.dashboard.CustomDashboard'` and `ADMIN_TOOLS_MENU = 'your_project.menu.CustomMenu'` to `settings.py`, replacing paths with your actual custom files.
affects: All versions
gotchaWhile `django-admin-tools` 0.9.x supports Django 4.x and 5.x, the documentation and older examples often use `django.conf.urls.url`. For modern Django projects, use `django.urls.re_path` or `django.urls.path`.
fix
When defining your project's `urls.py`, use `re_path(r'^admin_tools/', include('admin_tools.urls'))` instead of `url()`.
affects: Django 4.0+
Upgrade
Version history
0.9.3latest on PyPI · released Aug 10, 2023
Audit
Dependencies
DjangorequiredCore dependency for integration with the Django framework.
Agent activity
13 hits · last 30 days
node
10
Resources
django-admin-tools — pip install django-admin-tools · libregistry