Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (37 sloc) 2.03 KB
Django-Mousechaser tracks the mouse movements of the visitors to your site puts and generates heatmaps accordingly.
This can be useful during the development / testing phase of a new website to test whether people have
difficulty navigating your site. See for some more background information.
The application consists of two parts:
- The analytics.js script that tracks the mouse and identifies major html blocks (right now <div> and <p> tags)
- The elementmap.js script inserts the heatmap as a background picture in the original webpage
The analytics.js script adds an hidden iframe and sends a POST request, Django-Mousechaser parses all the coordinates
and stores these as HeatMap objects and it stores the major HTML element as Element objects.
The elementmap.js script requests the heatmap which is dynamically generated by the application.
- Matplotlib (1.0.0)
- Numpy (1.5.0)
- Python Imaging Library (PIL) (1.1.7)
- jQuery (1.4)
*see requirements.txt*
I am pretty sure it should work with older versions of these libraries as well but I cannot guarantee that.
Add django-mousechaser.heatmap to your INSTALLED_APPS
and make sure that you are able to serve the static js files.
For each webpage that you want to have a heatmap generated, add the following scripts:
- jquery.js (not part of this repos, download from for most recent version)
- analytics.js (this will send the coordinates to your server)
- elementmap.js (this can be on the same page as the original webpage, then it will add the heatmap as a background or add it to a separate webpage
The current status is alpha, it's more a proof-of-concept but it should be quite straightforward to make it more robust. Please clone it!
- Diederik van Liere
- The heatmap does not accurately match the size of webpage, this is quite important but a bit tricky
- Maybe use JSON instead of serialize POST to send data to server
Jump to Line
Something went wrong with that request. Please try again.