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://bitbucket.org/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.
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.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0d3d4176368128a6dbce9741a6862da55bebe658e854faa3289f1756356bb48 |
|
MD5 | 418c223fecc31fc4070c874841b69629 |
|
BLAKE2b-256 | 97ea78e811722e9b676af6c2548337ccdc7f9bcc249884a50b05cb3f3bcf3441 |