django-donottrack 0.1

Django utilities for honoring the Do Not Track HTTP header.

Django utilities for honoring the Do Not Track HTTP header.

Mathieu Leplatre posted an article Django: Do not forget Do Not Track. I really appreciated the post, and wanted to implement the ideas in my projects. Being lazy, I only wanted to do the work once, so I took his ideas and packaged them up with some tests and docs.

Included is middleware for detecting HTTP_DNT and passing its information on to both views and templates via the request object, and a useful context processor. The middleware also adds a vary header for cache control.

This package requires Python 2.7 or newer and Django 1.4 or later.

Refer to the documentation for complete information.

Quick-Start

Installation of the middleware is required. The context processor is convenient and thus recommended.

Settings:

MIDDLEWARE_CLASSES = (
    # default/other processors ...
    'donottrack.middleware.DoNotTrackMiddleware',
    # default/other processors ...
)

TEMPLATE_CONTEXT_PROCESSORS = (
    # default/other processors ...
    'donottrack.context_processors.donottrack',
)

Then in your template you can do things like:

{% if not donottrack %}
    {% include "google-analyitcs.html" %}
{% endif %}

And your views can also handle DNT:

def my_view(request):
    if not request.donottrack:
        # Log some request data ...

    # continue with view logic

Tip

Adding this app to your INSTALLED_APPS is currently unnecessary unless you want to run tests.

Other Information

Important

Installing this app in your Django project does not mean that you honor Do Not Track any more than installing django-secure means your web applicaiton is secure. It only means you have some tools to help with that end goal. You will need to audit your full stack to ensure that you are honoring DNT. But this app is a great start, and we hope you find it useful.

Note

This is an initial release. Despite being simple and theoretically solid (it has a full test suite) this is a beta-type release, and the public API may change, and as I learn more about DNT, more functionality may be added.

BSD

Author

Ben Spaulding

Pip

django-donottrack==0.1

Classifiers

  • Topic :: Internet :: WWW/HTTP :: Site Management
  • Topic :: Internet :: WWW/HTTP :: Browsers
  • Programming Language :: Python :: 3
  • Programming Language :: Python
  • Operating System :: OS Independent
  • License :: OSI Approved :: BSD License
  • Intended Audience :: Developers
  • Framework :: Django
  • Environment :: Web Environment
  • Development Status :: 4 - Beta
File Type Python Version Uploaded On Downloads
django-donottrack-0.1.tar.gz Source March 12, 2013 1,578
Version Release Date
0.1 March 12, 2013
Date Package Version Action
Nov. 4, 2014, 1:07 p.m. django-donottrack 0.1 Release Created
Nov. 4, 2014, 1:07 p.m. django-donottrack Package Created