Package: django-fluent-dashboard
django-fluent-dashboardThefluent_dashboardmodule offers a custom admin dashboard, built on top ofdjango-admin-tools(docs).Thedjango-admin-toolspackage provides a default mechanism to replace the standard Django
admin homepage with a widget based dashboard. Thefluent_dashboardmodule extends this,
by providing additional widgets (called “modules”) such as:a “icon list” module for the admin homepage.a “welcome” module for the admin homepage.a configurable module layout for the admin homepage, throughsettings.py.a “return to site” link.an optional “cache statistics” module.Documentation can be found at:https://django-fluent-dashboard.readthedocs.io/ScreenshotInstallationFirst install the module, preferably in a virtual environment. It can be installed from PyPI:pip install django-fluent-dashboardOr the current folder can be installed:pip install .ConfigurationAdd the following settings tosettings.py:INSTALLED_APPS+=('fluent_dashboard',# enable the admin'admin_tools','admin_tools.theming','admin_tools.menu','admin_tools.dashboard','django.contrib.admin',)ADMIN_TOOLS_INDEX_DASHBOARD='fluent_dashboard.dashboard.FluentIndexDashboard'ADMIN_TOOLS_APP_INDEX_DASHBOARD='fluent_dashboard.dashboard.FluentAppIndexDashboard'ADMIN_TOOLS_MENU='fluent_dashboard.menu.FluentMenu'TEMPLATES=[{'BACKEND':'django.template.backends.django.DjangoTemplates','DIRS':(),'OPTIONS':{'loaders':(...'admin_tools.template_loaders.Loader',# Add this line!),}}]Theadmin_tools.themingandadmin_tools.menuapplications are optional.Add tourls.py:urlpatterns+=[url(r'^admintools/',include('admin_tools.urls')),]The database tables foradmin_toolscan be created afterwards:./manage.pymigrateCustomizing the dashboardAdding extra iconsTheFLUENT_DASHBOARD_APP_ICONSsetting is a dictionary that allows you to define extra icons
for your own modules, and overwrite default settings. For example:FLUENT_DASHBOARD_APP_ICONS={'auth/user':"user.png"}The icon is expected to be 48x48 pixels.
The icon name is treated in 3 different formats:Absolute URLs are passed as-is.Icon names with a/character, are relative to theSTATIC_URL.Icon names without any path information, are relative to the current theme folder, e.g.STATIC_URL/fluent_dashboard/themename/Organizing the application groupsTheFLUENT_DASHBOARD_APP_GROUPSsetting defines which applications are grouped.
For example:FLUENT_DASHBOARD_APP_GROUPS=((_('CMS'),{'models':('cms.*','pages.*','fiber.*',),'module':'CmsAppIconList','collapsible':False,}),(_('Interactivity'),{'models':('django.contrib.comments.*','form_designer.*''threadedcomments.*','zinnia.*',),}),(_('Administration'),{'models':('django.contrib.auth.*','django.contrib.sites.*','google_analytics.*','registration.*',),}),(_('Applications'),{'models':('*',),'module':'AppList','collapsible':True,}),)Details about these options, and additional settings are explained in thedocumentation.Displaying cache statusThis application features optional support for thedashboardmodspackage,
which can display cache statistics. It can be installed using:pip install dashboardmodsThe application requires the cache backends to be configured, for example:INSTALLED_APPS+=('dashboardmods',)# Example Memcache configuration:CACHES={'default':{'BACKEND':'django.core.cache.backends.memcached.MemcachedCache','KEY_PREFIX':'mysite.production','LOCATION':'127.0.0.1:11211','TIMEOUT':24*3600,},}# Optional, example Varnish configuration:VARNISH_MANAGEMENT_ADDRS=('127.0.0.1:6082',)When a cache is not configured, it will simply not be displayed by the module.Related applicationsThe following packages provide additional modules,
which can be displayed at the dashboard:django-admin-user-statsadds graphs to the dashboard, to see the number of registered users in the last month.django-admin-tools-statsis derived from the previous package, and adds configurable graphs for any model type.dashboardmodsis detected to display cache statistics, but also features a configure RSS feed module.django-admin-toolsshould not be forgotten, because it also provides modules for RSS feeds, link lists and tab grouping.These modules can be integrated by subclassing theFluentIndexDashboardclass,
and point to that module with theADMIN_TOOLS_INDEX_DASHBOARDsetting.ContributingThis module is designed to be generic. In case there is anything you didn’t like about it,
or think it’s not flexible enough, please let us know. We’d love to improve it!If you have any other valuable contribution, suggestion or idea,
please let us know as well because we will look into it.
Pull requests are welcome too. :-)