minijinja

MiniJinja template engine integration for Litestar.

class litestar.plugins.minijinja.MiniJinjaTemplateEngine[source]

Bases: TemplateEngineProtocol[MiniJinjaTemplate, StateProtocol]

The engine instance.

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

Minijinja based TemplateEngine.

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

  • engine_instance – A Minijinja Environment instance.

get_template(template_name: str) MiniJinjaTemplate[source]

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

Parameters:

template_name – A dotted path

Returns:

MiniJinjaTemplate instance

Raises:

TemplateNotFoundException – if no template is found.

register_template_callable(key: str, template_callable: Callable[[Concatenate[StateProtocol, P]], T]) None[source]

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[source]

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(minijinja_environment: Environment) MiniJinjaTemplateEngine[source]

Create a MiniJinjaTemplateEngine from an existing minijinja Environment instance.

Parameters:

minijinja_environment (Environment) – A minijinja Environment instance.

Returns:

MiniJinjaTemplateEngine instance

class litestar.plugins.minijinja.StateProtocol[source]

Bases: Protocol

__init__(*args, **kwargs)