Customization of the django-admin-tools modules¶
django-admin-tools is very easy to customize, you can override the admin menu, the index dashboard and the app index dashboard.
- For this django-admin-tools provides two management commands:
Customizing the dashboards¶
To customize the index and app index dashboards, the first step is to do the following:
python manage.py customdashboard
This will create a file named
dashboard.py in your project directory.
If for some reason you want another file name, you can do:
python manage.py customdashboard somefile.py
- The created file contains two classes:
CustomIndexDashboardclass that corresponds to the admin index page dashboard;
CustomAppIndexDashboardclass that corresponds to the index page of each installed application.
You can rename theses classes if you want but if you do so, make sure
ADMIN_TOOLS_APP_INDEX_DASHBOARD settings variables to match your
You could have done the above by hand, without using the
customdashboard management command, but it’s simpler with it.
Now you need to tell django-admin-tools to use your custom dashboard(s). Open your settings.py file and add the following:
ADMIN_TOOLS_INDEX_DASHBOARD = 'yourproject.dashboard.CustomIndexDashboard' ADMIN_TOOLS_APP_INDEX_DASHBOARD = 'yourproject.dashboard.CustomAppIndexDashboard'
If you only want a custom index dashboard, you would just need the first line. Obviously, you need to change “yourproject” to the real project name, if you have chosen a different file name or if you renamed the dashboard classes, you’ll also need to change the above string to reflect your modifications.
At this point the dashboards displayed in the index and the app index should be your custom dashboards, now you can read the dashboard and dashboard modules API documentation to learn how to create your custom dashboard.
Customizing the theme¶
The theming support is still very basic, do not rely too much on it for the moment.
This is very simple, just configure the
point to your custom css file, for example:
ADMIN_TOOLS_THEMING_CSS = 'css/theming.css'
A good start is to copy the
admin_tools/media/admin_tools/css/theming.css to your custom file and
to modify it to suits your needs.