Skip to main content

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

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


Download files

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

Source Distribution

django-devicetype-templates-0.1.2.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file django-devicetype-templates-0.1.2.tar.gz.

File metadata

File hashes

Hashes for django-devicetype-templates-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a0d3d4176368128a6dbce9741a6862da55bebe658e854faa3289f1756356bb48
MD5 418c223fecc31fc4070c874841b69629
BLAKE2b-256 97ea78e811722e9b676af6c2548337ccdc7f9bcc249884a50b05cb3f3bcf3441

See more details on using hashes here.

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