Skip to main content
Help us improve Python packaging – donate today!

Django app to capture, track and display site analytics

Project Description

[![Travis CI Build Status](https://travis-ci.org/analytehealth/django-analytics.svg?branch=development)](https://travis-ci.org/analytehealth/django-analytics)

django-analytics
================

Django app to capture, track and display site analytics

Install
-------
pip install dj-analytics

Add to django configuration
---------------------------
* Add `djanalytics` to `INSTALLED_APPS` in settings.py file.
* Run `manage.py migrate djanalytics` to create database tables.
* Create and configure at least one Client and Domain.
* If you're capturing using HTML, in your urls.py, include djanalytics urls. For example:

urlpatterns += patterns(
'',
(r'', include('djanalytics.urls'))
)
* For charts, include the charts urls:

urlpatterns += patterns('', (r'^analytics/', include='djanalytics.charts.urls'))

Capture using middleware
--------------

* In settings.py, add 'djanalytics.middleware.AnalyticsMiddleware' to the MIDDLEWARE_CLASSES setting
for your django project.
* In settings.py, add DJA_CLIENT_ID='[uuid of Client created above]'

Capture using HTML
------------------

var img_html = '<img src="http://dja_server.example.com/capture/' +
'?dja_id=[client uuid]' +
'&pth=' + escape(window.location.pathname) +
'&qs=' + escape(window.location.search.substr(window.location.search.indexOf('?')+1)) +
'&rf=' + escape(document.referrer) +
'&sw=' + screen.width +
'&sh=' + screen.height +
'" style="position:absolute; left: -999px"></img>";
document.write(img_html);

Filtering IP addresses
----------------------

If you're using the django admin app, djanalytics will automatically register its models. To filter
by IP address, add a new IPFilter for your client. The IPFilter uses netmasks to filter addresses. You
can also specify whether to include or exclude the given netmask. If you choose include, only IP
addresses that match the netmask will be allowed in.

Filtering Paths
---------------

The PathFilter model allows you to include or exclude path patterns. PathFilters use regex to determine
a match on the path.

License
-------
[Read it here](https://raw.githubusercontent.com/analytehealth/django-analytics/master/LICENSE)

Change Log
----------
- 0.10.1
- Fix for issue #11 - Max key length exceeded with referrer field

- 0.10
- Added screen width and height to RequestEvent model (issue #10)
- Added 'sw' and 'sh' parameters to Capture view to support screen width and height

- 0.9
- Fixed issue #6 - Referrer length > 200 characters causes 500 error
- Added chart for top pages (issue #8)
- Now capturing domain in middleware
- Added chart for exit pages (issue #9)
- Added chart for external referrers (issue #7)
- Made base template for charts to better allow for overrides
- Broke chart views.py file up into individual modules

- 0.8
- Corrected name of user chart.
- Added try / except block around middleware to avoid 500 error when
client doesn't exist or can't be found.

- 0.7.1
- Fix for issue #5 - Created date on RequestEvent is storing the wrong date

- 0.7
- Fix for issue #3 - logic for determining valid domain in capture view is wrong.

- 0.6
- Added Location model object. This will allow geocoding of IP addresses on a periodic basis,
since IP addresses change over time.

- 0.5
- Fix for issue #1 - capture view raises TypeError
- Fix for issue #2 - allow for use of HTTP_X_FORWARDED_FOR header

- 0.4
- Switched version of django-graphos to fix install issue
- Added in files for Travis CI

- 0.3
- Added 'referrer' to RequestEvent model
- Added more indexes to RequestEvent model
- Added middleware documentation to README

- 0.2
- Switched default for RequestEvent created field to 'now()' instead of 'today()'

- 0.1
- Initial version

Release history Release notifications

History Node

1.0.6

History Node

1.0.6b3

History Node

1.0.6b2

History Node

1.0.6b1

History Node

1.0.6b0

History Node

1.0.5

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

1.0

History Node

1.0b14

History Node

1.0b13

History Node

1.0b12

History Node

1.0b11

History Node

1.0b10

History Node

1.0b9

History Node

1.0b8

History Node

1.0b7

History Node

1.0b6

History Node

1.0b5

History Node

1.0b4

History Node

1.0b3

History Node

1.0b2

History Node

1.0b1

History Node

1.0b0

History Node

0.11.3

History Node

0.11.2

History Node

0.11.1

History Node

0.11

This version
History Node

0.10.1

History Node

0.8

History Node

0.7.1

History Node

0.7

History Node

0.6

History Node

0.5

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
dj-analytics-0.10.1.tar.gz (18.6 kB) Copy SHA256 hash SHA256 Source None Aug 27, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page