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, \
45 from jinja2.bccache import BytecodeCache, FileSystemBytecodeCache, \
46 MemcachedBytecodeCache
49 from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
52 from jinja2.exceptions import TemplateError, UndefinedError, \
53 TemplateNotFound, TemplatesNotFound, TemplateSyntaxError, \
54 TemplateAssertionError
56 # decorators and public utilities
57 from jinja2.filters import environmentfilter, contextfilter
58 from jinja2.utils import Markup, escape, clear_caches, \
59 environmentfunction, contextfunction, is_undefined
62 'Environment', 'Template', 'BaseLoader', 'FileSystemLoader',
63 'PackageLoader', 'DictLoader', 'FunctionLoader', 'PrefixLoader',
64 'ChoiceLoader', 'BytecodeCache', 'FileSystemBytecodeCache',
65 'MemcachedBytecodeCache', 'Undefined', 'DebugUndefined',
66 'StrictUndefined', 'TemplateError', 'UndefinedError', 'TemplateNotFound',
67 'TemplatesNotFound', 'TemplateSyntaxError', 'TemplateAssertionError',
68 'ModuleLoader', 'environmentfilter', 'contextfilter', 'Markup', 'escape',
69 'environmentfunction', 'contextfunction', 'clear_caches', 'is_undefined'