Template w skrypcie:

from jinja2 import Environment

article = Environment().from_string("""
---
title: {{ title }}
author: {{ author }}
date: {{ date }}
slug: {{ slug }}
tags: {{ tags|join(', ') }}
draft: {{ draft }}
slug: python-jinja2
---

{{ body }}


""")

Template z pliku:

from jinja2 import Template

with open("article.j2", "r") as f:
    t = f.read()

tpl = Template(t)

Template z katalogu:

import os
from jinja2 import Environment, FileSystemLoader, select_autoescape

script_path = os.path.dirname(os.path.abspath(__file__))
template_dir_path = os.path.join(script_path, "templates")
env = Environment(
    loader=FileSystemLoader(template_dir_path, followlinks=True)
)

tpl = env.get_template("main.html.j2")

More information

report = {
    'data': data,
}

print(tpl.render(report))

Refs