1 # -*- coding: utf-8 -*-
6 Jinja2 is a template engine written in pure Python. It provides a
7 Django inspired non-XML syntax but supports inline expressions and
8 an optional sandboxed environment.
13 Here a small example of a Jinja2 template::
15 {% extends 'base.html' %}
16 {% block title %}Memberlist{% endblock %}
19 {% for user in users %}
20 <li><a href="{{ user.url }}">{{ user.username }}</a></li>
26 :copyright: (c) 2010 by the Jinja Team.
27 :license: BSD, see LICENSE for more details.
29 __docformat__ = 'restructuredtext en'
31 __version__ = __import__('pkg_resources') \
32 .get_distribution('Jinja2').version
34 __version__ = 'unknown'
36 # high level interface
37 from jinja2.environment import Environment, Template
40 from jinja2.loaders import BaseLoader, FileSystemLoader, PackageLoader, \
41 DictLoader, FunctionLoader, PrefixLoader, ChoiceLoader
44 from jinja2.bccache import BytecodeCache, FileSystemBytecodeCache, \
45 MemcachedBytecodeCache
48 from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
51 from jinja2.exceptions import TemplateError, UndefinedError, \
52 TemplateNotFound, TemplatesNotFound, TemplateSyntaxError, \
53 TemplateAssertionError
55 # decorators and public utilities
56 from jinja2.filters import environmentfilter, contextfilter
57 from jinja2.utils import Markup, escape, clear_caches, \
58 environmentfunction, contextfunction, is_undefined
61 'Environment', 'Template', 'BaseLoader', 'FileSystemLoader',
62 'PackageLoader', 'DictLoader', 'FunctionLoader', 'PrefixLoader',
63 'ChoiceLoader', 'BytecodeCache', 'FileSystemBytecodeCache',
64 'MemcachedBytecodeCache', 'Undefined', 'DebugUndefined',
65 'StrictUndefined', 'TemplateError', 'UndefinedError', 'TemplateNotFound',
66 'TemplatesNotFound', 'TemplateSyntaxError', 'TemplateAssertionError',
67 'environmentfilter', 'contextfilter', 'Markup', 'escape',
68 'environmentfunction', 'contextfunction', 'clear_caches', 'is_undefined'