collective.templateengines 0.1
Generic interface for Python template engines
Latest Version: 0.3.4
Introduction
collective.templateengines is an pluggable template language backend manager for Python. It defines generic interfaces which abstracts template language basic interfaction.
Template Backend helps you to achieve
- Easy, pluggable, template language switching
- Clean your codebase from template language dependencies
Motivation
All template engines have their shortcomings. Sooner or later you want to try yet another of them, or someone else wants to use another template engine with your project. This product is aimed to make that transition as smooth as possible, maybe just one line change.
Features
- EGG deployment and easy install support (PyPi repository)
- Interfaces defined using standard Zope interfaces package
- Backends for: Django template Language, Cheetah
- Unit test suite
Usage
The following example shows how one can switch between Django and Cheetah template engines with one line of change. Naturally, the templates themselves need to be refactored.
Cheetah:
from collective.templateengines.backends import cheetah
engine = cheetah.Engine()
context = DictionaryContext({"foo":"bar"})
template, syntax_errors = engine.loadString("Show variable $foo", False)
result, evaluation_errors = template.evaluate(context)
Django:
from collective.templateengines.backends import djangotemplates
engine = djangotemplates.Engine()
context = DictionaryContext({"foo":"bar"})
template, syntax_errors = engine.loadString("Show variable {{ foo", False)
result, evaluation_errors = template.evaluate(context)
TODO
- Generic mechanism to register template tags
- Secure context support (Zope, Plone)
Problems
- Cheetah architecture lacks separate exposed compiling and evaluating phases
- Cheetah exposes the full Python namespace to templates by default, making it hard to secure it
- Cheetah cannot traverse Zope functions or attributes
Changelog
0.1 - Unreleased
- Initial release
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| collective.templateengines-0.1-py2.5.egg (md5) | Python Egg | 2.5 | 2008-09-30 | 25KB | 704 |
| collective.templateengines-0.1.tar.gz (md5) | Source | 2008-09-30 | 7KB | 412 | |
- Author: Mikko Ohtamaa
- Home Page: http://pypi.python.org/pypi?%3Aaction=pkg_edit&name=collective.templateengines
- Keywords: template templates engine python interface zope cheetah django backend utils generic
- License: License :: OSI Approved :: BSD License
- Categories
- Package Index Owner: miohtama
- DOAP record: collective.templateengines-0.1.xml
