Skip to main content

A collection of tools for the django administration interface

Project description


Travis build codecov-image Documentation Status Pypi version Python versions


django-admin-tools is a collection of extensions/tools for the default django administration interface, it includes:

  • a full featured and customizable dashboard;

  • a customizable menu bar;

  • tools to make admin theming easier.

The code is hosted on Github.

Django-admin-tools is generously documented, you can browse the documentation online. a good start is to read the quickstart guide.

The project was created by David Jean Louis and was previously hosted on Bitbucket.

Please join the mailing list if you want to discuss of the future of django-admin-tools.


django-admin-tools is compatible with Django 1.11 LTS up to Django 4.0 as well Python 2.7, 3.5+.

For older python and django versions please use the 0.8.1 version of django-admin-tools which is available on Pypi.


To install django-admin-tools, run the following command inside this directory:

python install

If you have the Python easy_install utility available, you can also type the following to download and install in one step:

easy_install django-admin-tools

Or if you’re using pip:

pip install django-admin-tools

Or if you’d prefer you can simply place the included “admin_tools” directory somewhere on your python path, or symlink to it from somewhere on your Python path; this is useful if you’re working from a Mercurial checkout.

An installation guide is available in the documentation.


Extensive documentation is available, it was made with the excellent Sphinx program


There is a a transifex project for django-admin-tools.


The django admin login screen:

The django admin login screen

The admin index dashboard:

The admin index dashboard

The admin menu:

The admin menu

Dashboard modules can be dragged, collapsed, closed etc.:

Dashboard modules can be dragged, collapsed, closed etc.

The app index dashboard:

The app index dashboard

django-admin-tools changelog

Version 0.9.3, 10 August 2023:

  • Doc fixes

  • Upgrade to jquery-ui 1.13.2

  • Fix when template_name is given as PosixPath or other type

  • Add default template name to dummy.html to satisfy django-compressor

Version 0.9.2, 12 December 2021:

  • Fixed support for Django 4.0

  • Compatibility with admin dark mode

  • Fixed issue #100 (js bug when adding last column)

  • Fixed issue #103 (compatibility with django-constance)

Version 0.9.1, 12 January 2021:

This release adds support for django 3.X versions and future versions

  • Dropped support for django < 1.11

  • Support django 3.X and future versions

  • Updated jQuery and jQuery UI to latest versions

Version 0.9.0, 19 January 2020:

This release adds support for Django up to 2.2 and fixes various issues.

  • Django 2.2 support

  • Python 3.7 support

  • Updated documentation

Version 0.8.1, 30 May 2017:

This release adds support for Django 1.11 and fixes various issues.

  • Django 1.11 support

  • Added app config to enable label override to avoid app name collisions

  • Security fix: prevent removing users bookmarks by knowing the id

  • Better support for custom user models

  • Fixed docstrings

Version 0.8.0, 12 August 2016:

This release adds support for Django 1.10 and fixes various bugs and documentation issues.

  • Django 1.10 support

  • Dashboard pre_content and post_content now accept HTML by default

  • Use the staff_member_required decorator instead of login_required

  • Use user.get_username() instead of user.username

  • Fixed wrong template loader class name in a warning issued by DAT

  • Fixed various typos in docs and docstrings

Version 0.7.2, 14 January 2016:

Bugfix release.

  • Removed the config check that was causing issues in certain situations, we now use the builtin django system checks framework

  • Removed superfluous “trans” calls in admin_tools templates

  • Full PEP8 compliance

Version 0.7.1, 27 November 2015:

Bugfix release. This release fixes an incompatibility with django.template.loaders.cached.Loader.

Version 0.7.0, 5 November 2015:


Starting from this version (0.7.0) you must add admin_tools.template_loaders.Loader to your templates loaders variable in your settings file, see here for details:

Change log:

  • Support for Django 1.9 and the new admin flat theme

  • Added a custom template loader (based on django-apptemplates) that allows us to extends admin templates instead of overriding them

  • Fixed a lot of warnings

  • Fixed other minor issues and typos

Version 0.6.0, 7 July 2015:


Starting from this version (0.6.0) django-admin-tools is no longer compatible with Django 1.6 or lower.

Users of older django version should use the 0.5.2 version available on pypi.

If you are already using django-admin-tools with django <= 1.6, be sure to pin your requirements file to a specific version, eg: django-admin-tools==0.5.2 If you don’t do this, a “pip install –upgrade” will break your admin site. You have been warned !

Now for the actual change log:

  • Dropped support for django 1.6 or lower

  • Added support for django 1.8

  • Cleaned up old compatibility code

  • Use django builtin static

  • Various improvements and bug fixes

Version 0.5.2, 11 August 2014:

  • Added django 1.5 and 1.6 support

  • Django 1.7 is supported but migrations still using south

  • Added python 3 support

  • Add some blocks to facilitate template inheritance

  • Add management command to remove the dashboard preferences

  • Fixed issue #126 (feedparser deprecation warning)

  • Fixed issue #133 (recent Actions links have an unecessary /admin/ prefix)

  • Use i18n app name in app_list, menu and breadcrumb of app_index

  • Use user.get_short_name and user.get_username in admin header (fixes #121)

  • Better docstring for AppList and ModelList modules

  • Eliminated jumping to top of page when clicking collapse/add/remove buttons on dashboard modules

Thanks to all the folks who contributed to this release.

Version 0.5.1, 13 March 2013:

Bugfix release, everyone using django < 1.5 should upgrade

This release fixes a bug that was breaking the LinkList dashboard module (thanks Iacopo Spalletti for the pull request).

Version 0.5.0, 06 March 2013:

Important information if you are upgrading from a previous version

Starting from this version, django-admin-tools requires Django 1.3 or superior. If you’re running Django < 1.3, DO NOT UPGRADE and stay with the 0.4.1 version.

  • Compatibility with Django 1.4 and Django 1.5

  • Upgraded to latest jQuery / jQuery-ui

  • Many bug fixes and small improvements

Version 0.4.1, 15 November 2011:

  • Static files and django 1.3 support

  • Fixed modules instanciation issues (fixes #65)

  • Nested groups support & better html id generation (fixes issue #70)

  • Fixed various js and css problems

  • Added translation for Finnish + updates on other languages

  • More robust dashboard layout

  • Added force_show_title property to Group module

Version 0.4.0, 13 December 2010:

Important information if you are upgrading from a previous version

This release of django-admin-tools introduces support for south database migrations, if you are not using south you can skip this step.

Existing django-admin-tools should do the following:

python migrate --fake admin_tools.dashboard
python migrate --fake

New users should do:

python migrate admin_tools.dashboard
python migrate

Major changes

  • big improvements of the API (see the dashboard and menu documentation for details), the old API is still supported but now deprecated;

  • added a ModelList menu item;

  • custom and multiple admin sites basic support;

  • better integration with django-grappelli;

  • django south support.

Bugfixes and minor changes

  • Fixed issue #40 (python 2.5 compatibility);

  • Fixed issue #49: disable rendering of empty group modules;

  • Fixed issue #51: more robust test runner;

  • Fixed issues #57 and #58: updated custom dashboard and menu template files to reflect the current code;

  • Fixed issue #60: explicitely set color for links in module content;

  • Some fixes for the future django 1.3;

  • Fixes issue #61: Create empty preferences instance if user has no preferences saved yet.

  • Fixed issue #62: updated base template to reflect django 1.2 changes;

  • Fixed various js namespace pollutions;

  • Improved docs;

  • CZ locale support.

For more informations please see:

Version 0.3.0, 16 July 2010:

Major changes

  • added tests infrastructure, code coverage is around 70%;

  • import paths and class names are changed. Old class names and paths are deprecated but still work;

  • dashboard.modules.AppList, dashboard.modules.ModelList and menu.items.AppList now have ability to display any models from different apps (using glob syntax) via models and exclude parameters. The order is now preserved. See #15;

  • implemented dashboard module groups : you can now group modules in tabs, accordion or in a stacked layout.

Bugfixes and minor change

  • moved the menu and dashboard template dirs in a “admin_tools” directory to avoid name conflicts with other apps, for example: django-cms (see:;

  • fixed bookmark bugs. The saved url was urlencoded, so we need to decode it before we save it. Added a clean_url method to the BookmarkForm. Fixes #25;

  • build urlpatterns conditionally regarding the content of INSTALLED_APPS;

  • better display of selected menu items;

  • avoid a useless ajax GET request for retrieving dashboard preferences;

  • upgraded jquery and jquery ui and renamed the files to more generic names;

  • don’t show bookmark form if NoReverseError. This was breaking the django.contrib.auth unit tests;

  • fixed url lookup for remove bookmark form;

  • fixed issue #26 (menu bar showing for non-staff users) and also updated templates to match the django 1.2 templates;

  • fixed issue #29 : Django 1.2 admin base template change;

  • changed the way js files are loaded, hopefully now they are loaded syncronously (fixes issue #32);

  • fixed issue #33: empty applist menu items should not be displayed;

  • fixed issue #34: can’t drag modules into an empty column;

  • fixed issue #35 (wrong docstring for menu).

New class names and paths


  • admin_tools.dashboard.models.Dashboard => admin_tools.dashboard.Dashboard

  • admin_tools.dashboard.models.DefaultIndexDashboard => admin_tools.dashboard.DefaultIndexDashboard

  • admin_tools.dashboard.models.DefaultAppIndexDashboard => admin_tools.dashboard.DefaultAppIndexDashboard

  • admin_tools.dashboard.models.AppIndexDashboard => admin_tools.dashboard.AppIndexDashboard

  • admin_tools.dashboard.models.DashboardModule => admin_tools.dashboard.modules.DashboardModule

  • admin_tools.dashboard.models.AppListDashboardModule => admin_tools.dashboard.modules.AppList

  • admin_tools.dashboard.models.ModelListDashboardModule => admin_tools.dashboard.modules.ModelList

  • admin_tools.dashboard.models.LinkListDashboardModule => admin_tools.dashboard.modules.LinkList

  • admin_tools.dashboard.models.FeedDashboardModule => admin_tools.dashboard.modules.Feed


  • =>

  • =>

  • =>

  • =>

  • =>

Version 0.2.0, 15 March 2010:

  • bookmarks are now being saved in the database (fixes issue #20, thanks @alexrobbins);

  • dashboard preferences are also saved in the database;

  • added support for django-staticfiles STATIC_URL settings (fixes issue #21, thanks @dstufft);

  • fixed issue #23: render_theming_css tag does not work on windows;

  • added polish, italian, greek and brazilian locales;

  • updated docs.

Backwards incompatible changes in 0.2.0

Now, django-admin-tools stores menu and dashboard preferences in the database, so you’ll need to run syncdb and to add the django-admin-tools urls to your urlconf. These steps are described in details in the documentation. You’ll also need to add admin_tools to your INSTALLED_APPS for the locales to work (this was not documented in previous versions).

Version 0.1.2, 13 February 2010:

  • fixed documentation issues;

  • added locales;

  • fixed issue #9: don’t fail when feedparser is not installed;

  • fixed issue #5: implemented dashboard layout persistence in cookies;

  • enable all modules by default in the default dashboard;

  • fixed recent actions log entry urls when displayed in app_index;

  • added a “bookmarks” menu item and the code to manage bookmarks;

  • fixed jquery issues with django 1.2.

Version 0.1.1, 10 February 2010:

  • fixed issue #2: template tag libraries have generic names;

  • changed the way dashboards are selected, don’t rely on request variables but pass an extra argument to the template tag instead (fixes issue #3);

  • fixed (fixes issue #1);

  • better file.

Version 0.1.0, 10 February 2010:

  • Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-admin-tools-0.9.3.tar.gz (468.1 kB view hashes)

Uploaded Source

Built Distribution

django_admin_tools-0.9.3-py2.py3-none-any.whl (294.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page