Django Jinja2 - AttributeError: объект 'Environment' не имеет атрибута 'get_source'

У меня есть следующие две строки кода. Обе используют jinja2 для замены переменных шаблона:

subject = Environment(loader=BaseLoader).from_string(template.email_subject).render(context)
body = Environment(loader=BaseLoader).from_string(template.email_template).render(bodyContext)

Первая строка работает нормально, а вторая выдает ошибку:

 AttributeError: 'Environment' object has no attribute 'get_source'

Контекстный словарь включает все необходимые переменные шаблона, и синтаксис jinja2 также должен быть правильным. Чтобы убедиться в этом, вот шаблоны:

template.email_template:

Hallo {{name}},
{%- include invoiceType+'/email_body.tpl' -%}
Viele Grüße
{{emailFooter}}

invoiceType/email_body.tpl:

im Anhang findest du/findet ihr den Entwurf für die kommende Rechnung
über alle angefallenen Kosten bis zum {{invoiceDate -}}.

template.email_subject:

Rechnung {{currentYear}}{{invoiceID}}

Я смог решить проблему, записав строку в файл и загрузив ее из файла.

        template_dir = os.path.join(BASE_DIR, 'invoice\\templates')
        loader = FileSystemLoader(template_dir)
        environment = Environment(loader=loader)
        body = environment.get_template("email.tpl").render(bodyContext)
Вернуться на верх