A simple and powerful template engine
Project description
Jinja is a small but very fast und easy to use stand-alone template engine written in pure python.
Since version 0.6 it uses a new parser that increases parsing performance a lot by caching the nodelists on the harddisk if wanted.
It includes multiple template inheritance and other features like simple value escaping…
Template Syntax
This is a small example template in which you can see, how jinja’s syntax looks like:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>My Webpage</title>
</head
<body>
<ul id="navigation">
{% for item in navigation %}
<li><a href="{{ item.href }}">{{ item.caption|escapexml }}</a></li>
{% endfor %}
</ul>
<h1>My Webpage</h1>
{{ variable }}
</body>
</html>
Usage
Here a small example:
from jinja import Template, Context, FileSystemLoader
t = Template('mytemplate', FileSystemLoader('/path/to/the/templates'))
c = Context({
'navigation' [
{'href': '#', 'caption': 'Index'},
{'href': '#', 'caption': 'Spam'}
],
'variable': 'hello world'
})
print t.render(c)