Django Jinja2 - AttributeError: 'Environment' object has no attribute 'get_source'

I have the following two lines of code. Both are using jinja2 to replace the template variables:

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

The first line works just fine, while the second line throws the Error:

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

The context dictionary includes all necessary template variables and the jinja2 syntax should be correct as well. Just to be sure, here are the templates as well:


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


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


Rechnung {{currentYear}}{{invoiceID}}

I was able to resolve the issue by writing the string into a file and load it from the file.

        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)
Back to Top