jinja#

class litestar.contrib.jinja.JinjaTemplateEngine#

Bases: TemplateEngineProtocol[JinjaTemplate, Mapping[str, Any]]

The engine instance.

__init__(directory: Path | list[Path] | None = None, engine_instance: Environment | None = None) None#

Jinja-based TemplateEngine.

Parameters:
  • directory – Direct path or list of directory paths from which to serve templates.

  • engine_instance – A jinja Environment instance.

get_template(template_name: str) JinjaTemplate#

Retrieve a template by matching its name (dotted path) with files in the directory or directories provided.

Parameters:

template_name – A dotted path

Returns:

JinjaTemplate instance

Raises:

TemplateNotFoundException – if no template is found.

register_template_callable(key: str, template_callable: Callable[[Concatenate[Mapping[str, Any], P]], T]) None#

Register a callable on the template engine.

Parameters:
  • key – The callable key, i.e. the value to use inside the template to call the callable.

  • template_callable – A callable to register.

Returns:

None

render_string(template_string: str, context: Mapping[str, Any]) str#

Render a template from a string with the given context.

Parameters:
  • template_string – The template string to render.

  • context – A dictionary of variables to pass to the template.

Returns:

The rendered template as a string.

classmethod from_environment(jinja_environment: Environment) JinjaTemplateEngine#

Create a JinjaTemplateEngine from an existing jinja Environment instance.

Parameters:

jinja_environment (jinja2.environment.Environment) – A jinja Environment instance.

Returns:

JinjaTemplateEngine instance