Skip to main content

A simple Django (v3 which requires Python 3) dashboard app to visualize interesting data about your project.

Project description

https://travis-ci.org/talpor/django-dashing.svg?branch=master

Note this fork is to support Django 3, which dropped support for Python2.

NOTE: Using Python 3.9 for development as shown in pipfile, but Python 3.6 or greater should work too.

django-dashing is a customisable, modular dashboard application framework for Django to visualize interesting data about your project. Inspired in the exceptionally handsome dashboard framework Dashing

Check out a demo over here.

dashboard screenshot

Prerequisites

  • Django 3+

  • Django Compressor (optional)

Key concepts

  • Use premade widgets, or fully create your own with css, html, and javascript.

  • Use the API to push data to your dashboards.

  • Drag & Drop interface for re-arranging your widgets.

Installation

  1. Install latest stable version from PyPi:

$ pip install django-dashing
  1. Add dashing to INSTALLED_APPS of the your projects.

INSTALLED_APPS = (
    ...
    'dashing',
)
  1. Include the dashboard URLconf in your project urls.py like this:

from dashing.utils import router
...
path('dashboard/', include(router.urls)),
  1. Start the development server and visit http://127.0.0.1:8000/dashboard/ to view the dummy dashboard.

Quick Start

To make your own dashboard and retrieves the data from django you should:

  1. Create a django dashboard application with a widgets.py file

  2. Create your widget extended from NumberWidget, ListWidget, GraphWidget or simply Widget (from dashing.widgets), for example see.

  3. Register your widget in urls.py like:

from django.urls import include, path
from dashing.utils import router

from project.dashboard.widgets import CustomWidget

router.register(CustomWidget, 'custom_widget')

urlpatterns = [
    path('dashboard/', include(router.urls)),
]

Create a dashing-config.js file with a widget that retrive the data in your static directory like:

var myDashboard = new Dashboard();
myDashboard.addWidget('customWidget', 'Number', {
    getData: function () {
        var self = this;
        Dashing.utils.get('custom_widget', function(data) {
            $.extend(self.scope, data);
        });
    },
    interval: 3000
});

Also if you want to locate the config file in a different directory you can create a dashing/dashboard.html file in your TEMPLATE_DIRS and replace the config_file block to the route of your javascript config file, see the docs.

Testing

Install dependencies.

$ npm install
$ pip install -r requirements.txt

Run tests.

$ npm test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django3-dashing-0.5.2.tar.gz (799.6 kB view details)

Uploaded Source

Built Distribution

django3_dashing-0.5.2-py3-none-any.whl (862.3 kB view details)

Uploaded Python 3

File details

Details for the file django3-dashing-0.5.2.tar.gz.

File metadata

  • Download URL: django3-dashing-0.5.2.tar.gz
  • Upload date:
  • Size: 799.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9

File hashes

Hashes for django3-dashing-0.5.2.tar.gz
Algorithm Hash digest
SHA256 decc4f13a9b91c4ee0d9fe6db0546745b6a6749415a0eb81bcc0cc050ae3a6dc
MD5 08c600d4874fd40ce89e2ca03fbb6fba
BLAKE2b-256 d034e7c4db52b556efbf29a9815017dd3606e57b63323c4a30f79fa7fe5b3b36

See more details on using hashes here.

File details

Details for the file django3_dashing-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: django3_dashing-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 862.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9

File hashes

Hashes for django3_dashing-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4e1e13d4c280450b9de27a902093e8e9bddcd3a0a0870c715ed79d2582c93c98
MD5 3cd79b900091a51c75963ddb33722b7b
BLAKE2b-256 217337200a5c1bb0330864bff3e18d220f1f6ff2296b248c0e95fe5fbca93f7d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page