Django library to serve different templates for diferent device types
Project description
django-devicetype-templates is a library that detect device type by browser’s user agent string and serves different templates for each type.
Requirements
Django >= 1.3
It uses process_template_response middleware method, so your views should returns TemplateResponse.
Installation
Install from PyPi:
pip install django-devicetype-templates
Install development version to virtualenv:
git clone https://github.com/whit/django-devicetype-templates.git cd django-devicetype-templates python setup.py develop
Configuration
Add middleware:
MIDDLEWARE_CLASSES = ( ... 'devicetype.middleware.DeviceTypeMiddleware', )
If you need to use some variables in your templates, you can add devicetype context processor:
TEMPLATE_CONTEXT_PROCESSORS = ( ... 'devicetype.context_processors.devicetype', )
Then, in templates will be available these variables: devicetype, is_mobile and big_resolution (not implemented yet).
Other settings
DEVICETYPE_TEMPLATE_PREFIX
Prefixes are variable. When you need prefix template file name, use something like tablet-. If you want to have device-specific templates in subfolders, you can use tablet/ prefix for example.
Default:
{ 'desktop': '', 'mobile': 'mobile/', 'tablet': 'tablet/', }
DEVICETYPE_PREFIX_BASENAME
When you use folder-like prefix, like tablet/ and mobile/, with this setting you can select how subfolders will be detected.
With DEVICETYPE_PREFIX_BASENAME = False (default):
tablet/base.html tablet/app/app_base.html tablet/layout/three-cols.html ...
With DEVICETYPE_PREFIX_BASENAME = True:
tablet/base.html app/tablet/app_base.html layout/tablet/three-cols.html ...
DEVICETYPE_MOBILE_PATTERNS and DEVICETYPE_TABLET_PATTERNS
You can override default search patterns. It search in tablet patterns first.
Build status
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-devicetype-templates-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b1f78a02c9801aeff136e2667b28228dede9bd210579dd8cf6fd22233d43700 |
|
MD5 | c5ba71f80b06ff1595bc37fb75ccafe8 |
|
BLAKE2b-256 | 9cf579af7d930b1b03c638687c3347aa79e5615e52c261dad327991d522e4279 |