jinja2¶
Jinja2 is a template engine written in pure Python. It provides a Django inspired non-XML syntax but supports inline expressions and an optional sandboxed environment.
Nutshell¶
Here a small example of a Jinja2 template:
{% extends 'base.html' %}
{% block title %}Memberlist{% endblock %}
{% block content %}
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
{% endblock %}
| copyright: |
|
|---|---|
| license: | BSD, see LICENSE for more details. |
Functions¶
clear_caches() |
Jinja2 keeps internal caches for environments and lexers. |
contextfilter(f) |
Decorator for marking context dependent filters. |
contextfunction(f) |
This decorator can be used to mark a function or method context callable. |
environmentfilter(f) |
Decorator for marking evironment dependent filters. |
environmentfunction(f) |
This decorator can be used to mark a function or method as environment callable. |
escape((s) -> markup) |
Convert the characters &, <, >, ‘, and ” in string s to HTML-safe sequences. |
evalcontextfilter(f) |
Decorator for marking eval-context dependent filters. |
evalcontextfunction(f) |
This decorator can be used to mark a function or method as an eval context callable. |
is_undefined(obj) |
Check if the object passed is undefined. |
make_logging_undefined([logger, base]) |
Given a logger object this returns a new undefined class that will log certain failures. |
Classes¶
BaseLoader |
Baseclass for all loaders. |
BytecodeCache |
To implement your own bytecode cache you have to subclass this class and override load_bytecode() and dump_bytecode(). |
ChoiceLoader(loaders) |
This loader works like the PrefixLoader just that no prefix is specified. |
DebugUndefined([hint, obj, name, exc]) |
An undefined that returns the debug info when printed. |
DictLoader(mapping) |
Loads a template from a python dict. |
Environment([block_start_string, ...]) |
The core component of Jinja is the Environment. |
FileSystemBytecodeCache([directory, pattern]) |
A bytecode cache that stores bytecode on the filesystem. |
FileSystemLoader(searchpath[, encoding, ...]) |
Loads templates from the file system. |
FunctionLoader(load_func) |
A loader that is passed a function which does the loading. |
Markup |
Marks a string as being safe for inclusion in HTML/XML output without needing to be escaped. |
MemcachedBytecodeCache(client[, prefix, ...]) |
This class implements a bytecode cache that uses a memcache cache for storing the information. |
ModuleLoader(path) |
This loader loads templates from precompiled templates. |
PackageLoader(package_name[, package_path, ...]) |
Load templates from python eggs or packages. |
PrefixLoader(mapping[, delimiter]) |
A loader that is passed a dict of loaders where each loader is bound to a prefix. |
StrictUndefined([hint, obj, name, exc]) |
An undefined that barks on print and iteration as well as boolean tests and all kinds of comparisons. |
Template |
The central template object. |
Undefined([hint, obj, name, exc]) |
The default undefined type. |
Exceptions¶
TemplateAssertionError(message, lineno[, ...]) |
Like a template syntax error, but covers cases where something in the template caused an error at compile time that wasn’t necessarily caused by a syntax error. |
TemplateError([message]) |
Baseclass for all template errors. |
TemplateNotFound(name[, message]) |
Raised if a template does not exist. |
TemplateSyntaxError(message, lineno[, name, ...]) |
Raised to tell the user that there is a problem with the template. |
TemplatesNotFound([names, message]) |
Like TemplateNotFound but raised if multiple templates are selected. |
UndefinedError([message]) |
Raised if a template tries to operate on Undefined. |