Ex: name = aa.py.jinja2
{% macro Macro1() -%}
...
{%- endmacro %}
{% macro Macro2() -%}
...
{%-endmacro %}
Rendering in python
loader = PackageLoader(__name__, "")
env = Environment(loader=loader)
template = env.get_template("aa.jnja2")
aa = template.render("Macro1")
How to render particular macro..Otherwise have to create separate template for each macro
Macros are comparable with functions and are meant to be called. You can import aa.jinja2
first and then call its Macro1
function:
aa = env.from_string('{% import 'aa.jinja2' as aa %}{{ aa.Macro1() }}').render()