libb.Jinja2Render

class Jinja2Render(template_dir, globals=None, autoescape=True)[source]

Bases: object

Jinja2 render class.

Usage:

render = Jinja2Render('templates/')
render.add_globals({'format': fmt, 'today': datetime.date.today})
html = render('generic.html', title='Page', content=[html1, html2])
__init__(template_dir, globals=None, autoescape=True)[source]

Initialize Jinja2 environment with template directory.

Parameters:
  • template_dir (str) – Path to template directory.

  • globals (dict | None) – Dict of global variables/functions for templates.

  • autoescape (bool) – Enable HTML autoescaping (default True).

__call__(template_name, **context)[source]

Render template with context - same signature as Flask’s render_template.

Parameters:
  • template_name (str) – Name of template file (e.g., ‘generic.html’).

  • context – Keyword arguments passed to template.

Return type:

str

Returns:

Rendered HTML string.

add_globals(globals_dict)[source]

Add globals to Jinja2 environment.

Parameters:

globals_dict (dict) – Dict of globals to add.

Return type:

None

add_filter(name, func)[source]

Add custom filter to Jinja2 environment.

Parameters:
  • name (str) – Filter name to use in templates.

  • func (callable) – Filter function.

Return type:

None