VERY IMPORTANT INFORMATION, PLEASE READ !
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:
If you don't do this, a "pip install --upgrade" will break your admin site.
You have been warned !
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 requires Python 2.7 or Python 3.3 or newer and Django 1.7 or newer.
For older python and django versions please use the 0.5.2 version of django-admin-tools which is available on Pypi.
To install django-admin-tools, run the following command inside this directory:
python setup.py install
If you have the Python easy_install utility available, you can also type
the following to download and install in one step:
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.
The django admin login screen:
The admin index dashboard:
The admin menu:
Dashboard modules can be dragged, collapsed, closed etc.:
The app index dashboard:
Version 0.6.0, 7 July 2015:
- Dropped support for django 1.6 or lower
- Added support for django 1.8
- Cleaned up old compatibility code
- Use django builtin staticfiles
- 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 manage.py migrate --fake admin_tools.dashboard
python manage.py migrate --fake admin_tools.menu
New users should do:
python manage.py migrate admin_tools.dashboard
python manage.py migrate admin_tools.menu
- 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:
- 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 changes
- moved the menu and dashboard template dirs in a "admin_tools" directory to
avoid name conflicts with other apps, for example: django-cms
- 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.
- 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
- admin_tools.menu.models.Menu => admin_tools.menu.Menu
- admin_tools.menu.models.DefaultMenu => admin_tools.menu.DefaultMenu
- admin_tools.menu.models.MenuItem => admin_tools.menu.items.MenuItem
- admin_tools.menu.models.AppListMenuItem => admin_tools.menu.items.AppList
- admin_tools.menu.models.BookmarkMenuItem => admin_tools.menu.items.Bookmarks
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 MANIFEST.in (fixes issue #1);
- better setup.py file.
Version 0.1.0, 10 February 2010: