jinja2

<body>
    {{ content }}
    {% %} - statements
    {{ }} - expressions to print to the template output
    {# #} - comments which are not included in the template output
    # ## - line statements

    {% raw %}
    His name is {{ name }}
    {% endraw %}

    {% for person in persons -%}
        {{ person.name }} {{ person.age }}
    {% endfor %}

    Сумма {{ objects | sum(attribute='price') }}

    {% extends 'base.html' %}

    {% block content%}

    {% endblock %}
</body>

Template

class jinja2.Template

Шиблонизатор

from jinja2 import Template

Template('Hello {{ name }}').render(name='ilnurgi')
# Hello ilnurgi

Template('{{ data | e}}).render(data='<a>Today is a sunny day</a>')
#
render(**kwargs)

Рендеринг шаблона

Template('Hello {{ name }}').render(name='ilnurgi')
# Hello ilnurgi

FileSystemLoader

class jinja2.FileSystemLoader(root)

Загрузчик шаблонов из файла

file_loader = FileSystemLoader('templates')
env = Environment(loader=file_loader)

template = env.get_template('index.html')

Environment

class jinja2.Environment(loader)

Окружение/контекст для работы

file_loader = FileSystemLoader('templates')
env = Environment(loader=file_loader)

template = env.get_template('index.html')
trim_blocks
lstrip_blocks
rstrip_blocks
get_template(name)

Возвращает Template, шаблон из окружения