Simple site traffic statistics with django-basic-stats
django-basic-stats is my basic site traffic statistics application. It can be used to watch latest referrers, Google search terms that led to finding you site or for logging and analyzing mobile devices used to browse your site.
Installation
Installation is typical:Last step will be to run manage.py migrate or syncdb if you don't use South migrations.
Statistics are available under /stats/ URL, but only site staff can access them. In admin panel there will be also mobile devices log model with all the data it collected.
Enabling mobile devices logging
Mobile devices aren't logged after installation, as they log screen dimensions and device pixel ratio. Those informations are available in the browser in JavaScript, not in the backend in Python.
To enable mobile device logging use the following JavaScript code. It uses jQuery to send an AJAX request. If you use different library it should be easy to modify this code:
var isMobile = (/iphone|ipod|android|blackberry|mini|palm|smartphone|ipad|xoom|playbook|tablet|mobile|kindle/i.test(navigator.userAgent.toLowerCase()));
if (isMobile) {
$(document).ready(function(){
$.ajax({
url: '/stats/mobile/',
cache: false,
type: "GET",
data: {"window_width": window.innerWidth,
"window_height": window.innerHeight,
"screen_width": screen.width,
"screen_height": screen.height,
"device_pixel_ratio": window.devicePixelRatio},
});
});
}
The code sends all the data to "/stats/mobile/" where the Django view will catch them and save. In JavaScript the "window" and "screen" dimensions can differ a lot sometimes so they are both logged. The view will also save the USER_AGENT.

Comment article