Jinja (template engine)


Jinja is a web template engine for the Python programming language. It was created by Armin Ronacher and is licensed under a BSD License. Jinja is similar to the Django template engine but provides Python-like expressions while ensuring that the templates are evaluated in a sandbox. It is a text-based template language and thus can be used to generate any markup as well as source code.
The Jinja template engine allows customization of tags, filters, tests, and globals. Also, unlike the Django template engine, Jinja allows the template designer to call functions with arguments on objects.
Jinja is Flask's default template engine and it is also used by Ansible and Trac.

Features

Some of the features of Jinja are:
Jinja, like Smarty, also ships with an easy-to-use filter system similar to the Unix pipeline.

Example

Here is a small example of a template file example.html.jinja:








,




and templating code:

from jinja2 import Template
with open as f:
tmpl = Template)
print tmpl.render(
variable = 'Value with data',
item_list =

This produces the HTML string:




Value with <unsafe> data


1,
2,
3,
4,
5,
6