django-browser-info is a Django app that adds attributes to your request object that describe the users browser. This will let you fine tune the templates or code to use based on the traits of the browser.
The following is currently added to the request:
True for all non-desktop devices (browsers) without "modern" CSS and JS support. This includes non "smart" phones and simpler browsers like those found on game consoles and the kindle.
True for devices that use touch events.
True for devices that are wider than a common mobile phone. This covers tablets and desktop browsers.
True if the device is part of the given platform.
These give more granular information about modern smart devices. This is helpful if you want to target features to a specific device type.
True if the browser is webkit (desktop or mobile.)
After you've added browser_info to your python path (manually or with pip) you can access its attributes with one of two methods.
To use browser_info on all requests just add
to the `MIDDLEWARE_CLASSES` tuple in your settings.py
If you only have certain views that need the distinction all you need to do is wrap the relevant views like this:
from browser_info import add_browser_info
# your view code here.