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