Skip to main content

Django middleware and view decorator to add browser info to the request object

Project description

About
=====

This application 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:

Simple Device
-------------

request.is_simple_device

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.

Touch Device
------------

request.is_touch_device

True for devices that use touch events.

Wide Device
-----------

request.is_wide_device

True for devices that are wider than a common mobile phone. This covers tablets and desktop browsers.

Device Type
-----------

request.is_ios_device
request.is_ios5_device
request.is_android_device
request.is_webos_device
request.is_windows_phone_device
request.is_kindle_device

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.

Other Attributes
----------------

request.is_webkit

True if the browser is webkit (desktop or mobile.)

Installation
============

After you've added browser_info to your python path (manually or with pip) you can access its attributes with one of two methods.

All Requests
------------

To use browser_info on all requests just add

browser_info.Middleware

to the `MIDDLEWARE_CLASSES` tuple in your settings.py

Specific Requests
-----------------

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

@add_browser_info
def my_mobile_view(request):
# your view code here.

Project details


Download files

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

Source Distribution

django-browser-info-1.0.1.tar.gz (4.7 kB view details)

Uploaded Source

File details

Details for the file django-browser-info-1.0.1.tar.gz.

File metadata

File hashes

Hashes for django-browser-info-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ce8e7f55e5dc1da8a169958e99bbb985495d06e0c8ab5e3e51349fe6d83baeb0
MD5 52141d8eb3c49f3a923c9d16d96089a8
BLAKE2b-256 bf1fb5fe128c0ecd4f0e5441b1f1a4481eef92df3430a5422e9b82430e41e2ea

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page