Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install django-genshi

How to install django-genshi

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install django-genshi
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.1.3 Available View build log
Windows (64-bit)
1.1.3 Available View build log
Mac OS X (10.5+)
1.1.3 Available View build log
Linux (32-bit)
1.1.3 Available View build log
Linux (64-bit)
1.1.3 Available View build log
 
Author
License
GPL
Lastest release
version 1.1.3 on Jan 5th, 2011

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

System Message: ERROR/3 (<string>, line 31)

Inconsistent literal block quoting.

<h1>Hello world!</h1>

[1]http://docs.djangoproject.com/en/dev/ref/templates/api/
[2]http://genshi.edgewall.org/wiki/Documentation

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.

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:2

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.