Skip to main content

get_template_attribute

Loads a macro (or variable) a template exports. This can be used to invoke a macro from within Python code. If you for example have a template named :file:_cider.html with the following contents:

.. sourcecode:: html+jinja

\{% macro hello(name) %\}Hello \{\{ name \}\}!\{% endmacro %\}

You can access this from Python code like this::

hello = get_template_attribute('_cider.html', 'hello')
return hello('World')

.. versionadded:: 0.2

:param template_name: the name of the template
:param attribute: the name of the variable of macro to access
def get_template_attribute(
template_name: str,
attribute: str
) - > Any

Loads a macro (or variable) a template exports. This can be used to invoke a macro from within Python code.

Parameters

NameTypeDescription
template_namestrThe path or name of the Jinja template to load
attributestrThe name of the specific macro or variable exported by the template to retrieve

Returns

TypeDescription
AnyThe exported macro or variable from the template's module namespace