from jinja2 import Environment | |
from jinja2.loaders import DictLoader | |
env = Environment( | |
loader=DictLoader( | |
{ | |
"child.html": """\ | |
{% extends master_layout or 'master.html' %} | |
{% include helpers = 'helpers.html' %} | |
{% macro get_the_answer() %}42{% endmacro %} | |
{% title = 'Hello World' %} | |
{% block body %} | |
{{ get_the_answer() }} | |
{{ helpers.conspirate() }} | |
{% endblock %} | |
""", | |
"master.html": """\ | |
<!doctype html> | |
<title>{{ title }}</title> | |
{% block body %}{% endblock %} | |
""", | |
"helpers.html": """\ | |
{% macro conspirate() %}23{% endmacro %} | |
""", | |
} | |
) | |
) | |
tmpl = env.get_template("child.html") | |
print(tmpl.render()) |