Building Dynamic Dashboards With Django and D3
summary
Dashboard handles millions of 911 records with a Django backend serving compact JSON summaries via Django REST Framework, front end uses D3/nvd3 and ractive.js for reactive one‑way data flow, deep linking comes from django-url-filter translating URL hashes into queryset calls, and heavy lifting uses PostgreSQL percentiles and date truncation for quartiles and dynamic time precision. The open source app powers a live New Orleans demo, supports bookmarking of complex queries, and is used internally by a police department for analysis.
AI-written summary · about
chapters (16)
- 0:00Intro
- 2:48The tools
- 5:50One endpoint per page
- 6:20Summary models
- 7:42Django ORM: custom functions
- 10:34Django ORM: custom aggregations
- 11:59django-url-filter
- 13:16Hack: call queryset methods
- 14:07Hack: build Alter from data structure
- 15:09API endpoints
- 18:50Simple Ractive component
- 19:11Ractive template
- 19:39Chart objects
- 21:02Monitoring for data changes
- 21:29The heatmap
- 22:23Lessons learned
related talks
29mUsing Dash by Plotly for Interactive Visualisation of Crime Data
32mDash: Interactive Data Visualization Web Apps with no Javascript
22mGovernment dashboards and open data.
41mDash: data exploration web apps in pure Python
40mOpen Data Dashboards & Python Web Scraping
26mDeveloping Dashboard Applications using Bokeh
27mUsing Dash to Create Interactive Web Apps for Non-Technical Audiences
41mEffective Dashboard Design Using
