Advanced customization

For advanced dashboard or menu layouts beyond the normal settings, the classes provided by this package (and additionally django-admin-tools) can be overwritten.

Changing the dashboard layout

To change the widget layout, extend the FluentIndexDashboard class and create the new module layout in the __init__() or init_with_context() function.

The custom dashboard class can be loaded by referencing them in either one of these settings:

  • ADMIN_TOOLS_INDEX_DASHBOARD
  • ADMIN_TOOLS_APP_INDEX_DASHBOARD

Any existing classes from the fluent_dashboard.modules package could be reused off course.

See also

When customizing the dashboard module layout, dont forget to look at the django-admin-tools package and other applications for additional modules to use. These packages have modules for RSS feeds, Varnish/Memcache status, and even tabbing/grouping items.

Changing the menu layout

The menu layout can be changed by extending the FluentMenu class, and overwriting the init_with_context() function.

The custom menu class can be loaded by referencing it in the setting:

  • ADMIN_TOOLS_MENU

Available classes

The fluent_dashboard app provides the following classes, which are suitable for overwriting them:

fluent_dashboard.dashboard: the custom dashboard classes:

  • FluentIndexDashboard: the dashboard for the homepage.
  • FluentAppIndexDashboard: the dashboard for the application index page.

fluent_dashboard.items: menu icons

  • CmsModelList: a model list, with strong bias of sorting CMS applications on top.
  • ReturnToSiteItem: a custom MenuItem class, with the “Return to site” link.

fluent_dashboard.menu: the menu classes.

  • FluentMenu: a custom Menu implementation, which honors the FLUENT_DASHBOARD_APP_GROUPS setting, and adds the ReturnToSiteItem.

fluent_dashboard.modules: custom widgets (called “modules”) to display at the dashboard.

  • AppIconList: an AppList implementation that displays the models as icons.
  • CmsAppIconList: an AppIconList variation with a strong bios towards sorting CMS applications on top.
  • PersonalModule: a personal welcome text.
  • CacheStatusGroup: the statistics of Memcache and Varnish.