Skip to content

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

License

Notifications You must be signed in to change notification settings

marcoshemann/django-dashing

 
 

Repository files navigation

django-dashing

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

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.

HTTPie compared to cURL

Prerequisites

  • Django 1.5.+
  • 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
...
url(r'^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.
  1. Register your widget in urls.py like:
from django.conf.urls import url, include
from dashing.utils import router

from project.dashboard.widgets import CustomWidget

router.register(CustomWidget, 'custom_widget')

urlpatterns = [
    url(r'^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

Links

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.6%
  • Python 1.5%
  • CSS 1.2%
  • HTML 0.7%