django-admin-charts

django-admin-charts - Easily configurable charts statistics for `django-admin` and `django-admin-tools`


Keywords
charts, django, django-admin
License
MIT
Install
pip install django-admin-charts==1.2.4

Documentation

Django admin charts

Description

Easily configurable charts statistics for django-admin and django-admin-tools.

Documentation

http://django-admin-charts.readthedocs.org/en/latest/

image

Latest Version

Downloads

Supported Python versions

License

Create beautiful configurable charts from your models and display them on the django-admin index page or on django-admin-tools dashboard. The charts are based on models and criterias defined through admin interface and some chart parameters are configurable in live view.

This is application is fork of django-admin-tools-stats which has been reworked to display all charts through Ajax and made work with plain django-admin. The django-admin-tools are supported but not needed.

image

image

image

Requirements

  • Django>=2.0
  • Python>3.6
  • PostgreSQL (MySQL is experimental, other databases probably not working but PRs are welcome)
  • simplejson for charts based on DecimalField values

Installation

Install django-admin-charts with these commands:

$ pip install django-admin-charts

Basic setup for django-admin

Add admin_tools_stats (the Django admin charts application) & django_nvd3 into INSTALLED_APPS in settings.py:

Register chart views in your urls.py:

Ensure, you have default cache set up: https://docs.djangoproject.com/en/3.2/topics/cache/#memcached

Run migrations:

Open Django admin root and add your Dashboard Stats configuration:

image

image

Then the charts will appear on the root of Django admin page as well as on analytics page (/admin_tools_stats/analytics/).

Special configurations

Update from django-admin-tools-stats

Uninstall django-admin-tools-stats.

Follow django-admin-charts installation according to previous section. Especially pay attention to these steps: - Move admin_tools_stats in INSTALLED_APPS before admin_tools and django.contrib.admin. - Configure urls.py.

Change DashboardCharts to DashboardChart in dashboard definition (this is recomended even if dummy class is left for compatibility reasons).

Check any overridden template from admin_tools_stats or DashboardChart(s) class that might interfere with the changes.

Configure javascript libraries

By default the nvd3/d3 libraries are taken from unpkg. If you want to install those libraries on your own, you can set their path by following settings:

The settings can accept either full path (with http...) or there can be static file path. Note that versions nvd3==1.8.6 and d3==3.3.13 are the only tested to be working.

Installation of javascript libraries with django-bower

Add django-bower to INSTALLED_APPS in settings.py:

Add the following properties to you settings.py file:

Add django-bower finder to your static file finders:

Run the following commands. These will download nvd3.js and its dependencies using bower and throw them in to you static folder for access by your application:

Usage with django-admin-tools

Configure admin_tools

Add following code to dashboard.py:

You may also need to add some includes to your template admin base, see an example on the demo project:

demoproject/demoproject/templates/admin/base_site.html

Usage on DB that doesn't support JSONFields

You can add following line to your settings in order to use JSONField from django-jsonfield instead of native Django JSONField:

This can become handy, when deploying on MySQL<5.7 (Like AWS RDS Aurora)

Running demo

Run following commands:

And log in with username admin and password admin to the localhost:8000/admin site.

Development

Dependencies

django-admin-charts is a django based application, the major requirements are:

  • django-jsonfield
  • django-nvd3
  • django-bower

Running tests

Test can be run with:

Contributing

If you've found a bug, add a feature or improve django-admin-charts and think it is useful then please consider contributing. Patches, pull requests or just suggestions are always welcome!

Source code: http://github.com/PetrDlouhy/django-admin-charts

Bug tracker: https://github.com/PetrDlouhy/django-admin-charts/issues

Debugging charts

For chart data view (/admin_tools_stats/chart_data/payments/) the URL query parameter &debug=True can be added, in order to get Django debug page or Django debug toolbar.

Documentation

Documentation is available on 'Read the Docs': http://readthedocs.org/docs/django-admin-charts/

License

django-admin-charts is licensed under MIT, see MIT-LICENSE.txt.