Skip to main content

Django integration for Genshi

Project description

Author:

John Millikin

Overview

django-genshi is a small wrapper library around Genshi that provides an API similar to django.template. Included are imitations of Context and RequestContext. There is also an implemention of the Django template loader system adapted for Genshi, and a selection of shortcut functions.

Usage

See the Django [1] and Genshi [2] documentation for detailed usage notes. The API of django-genshi is intended to mirror that of Django, while writing or manipulating the templates will require knowledge of Genshi.

Genshi cannot use Django’s default template loaders – to work around this, the app_directories, eggs, and filesystem loaders have been modified and included in the django_genshi.loaders package. To avoid conflicts with Django’s template system, place such loaders in the GENSHI_TEMPLATE_LOADERS setting.

Example:

>>> from django_genshi import render_to_response
>>> response = render_to_response ('template_name.xml', {"name": "world"})
>>> print response.content
<h1>Hello world!</h1>

Output Type Autodetection

Because Genshi is based on abstract markup streams, it is possible for a template to be rendered to multiple output representations (such as HTML or XHTML). The decision of which to render is usually based on the HTTP Accept header. The shortcuts.render_to_response_autodetect function implements a reasonable algorithm for autodetecting output formats, and serves as an example for writing custom encoders in general.

Filters

Arbitrary Genshi filter functions may be registered, using the GENSHI_TEMPLATE_FILTERS setting. They will be applied to generated template streams by the shortcut functions prior to rendering the streams. Example filters are included in the django_genshi.filters module.

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-genshi-1.1.3.tar.gz (6.9 kB view details)

Uploaded Source

File details

Details for the file django-genshi-1.1.3.tar.gz.

File metadata

File hashes

Hashes for django-genshi-1.1.3.tar.gz
Algorithm Hash digest
SHA256 3955f7aabff1c3f5ef0eba6e8a461318bd57e300b579f4bd85c82d66676f88dd
MD5 e92c90aab1fc6618791736039d986a3c
BLAKE2b-256 dc02209cb7bddef4d33395286bd80765c4d31b7931d3fb596a7033d33835cdbb

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