How to make Django template engine to render in memory templates?

Question:

I am storing my templates in the database and I don’t have any path to provide for the template.render method.

Is there any exposed method which accepts the template as a string?

Is there any workaround?

Asked By: Jader Dias

||

Answers:

Instantiate Template with the string to use as a template.

In Django < 1.8:

from django.template.loader import get_template_from_string

tpl = Template(get_template_from_string("My name is {{ my_name }}."))
Answered By: Alexander Maretskiy

Based on the the docs for using the template system:

from django.template import Template, Context

t = Template("My name is {{ my_name }}.")
c = Context({"my_name": "Adrian"})
t.render(c)
Answered By: robertzp