¿Múltiples renders de plantillas jinja2?

¿Hay alguna manera de hacer esto con jinja2?

template = Template("{{ var1 }}{{ var2 }}") rendered1 = template.render(var1=5) # "5-{{ var2 }}" rendered2 = Template(rendered1).render(var2=6) # "5-6" 

Básicamente, quiero poder hacer múltiples pases en una plantilla. Cuando el motor de plantillas encuentra una variable en la plantilla que no está en el contexto, en lugar de reemplazarla con nada, ¿mantiene la variable de la plantilla intacta? Si no es jinja2, ¿hay alguna otra biblioteca de plantillas de python que pueda hacer esto?

Puede usar DebugUndefined , que mantiene las búsquedas fallidas, como su tipo indefinido para el parámetro undefined del entorno de Template :

 >>> from jinja2 import Template, DebugUndefined >>> template = Template("{{ var1 }}-{{ var2 }}", undefined=DebugUndefined) >>> rendered1 = template.render(var1=5) # "5-{{ var2 }}" >>> print(rendered1) 5-{{ var2 }} >>> rendered2 = Template(rendered1).render(var2=6) # "5-6" >>> print(rendered2) 5-6