No estoy seguro de si lo que quiero hacer es posible: estoy tratando de obtener un bloque en una plantilla primaria para que se complete con un archivo incluido en una plantilla secundaria del padreUsar bloques de archivos incluidos para padres en jinja2
La mejor manera de explicar esto es un caso de prueba:
Archivo t1.djhtml:
<root>
<block t3_container>
{% block t3 %}This should be 'CONTENT'{% endblock %}
</block t3_container>
<block t2_container>
{% block t2 %}{% endblock %}
</block t2_container>
</root>
Archivo t2.djhtml:
{% extends 't1.djhtml' %}
{% block t2 %}
<block t2>
{%- include 't3.djhtml' with context %}
</block t2>
{% endblock %}
Archivo t3 .djhtml:
{% block t3 %}
<block t3>
CONTENT
</block t3>
{% endblock %}
Archivo test.py:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader(''))
t=env.get_template('t2.djhtml')
print t.render()
La salida es:
<root>
<block t3_container>
This should be 'CONTENT'
</block t3_container>
<block t2_container>
<block t2>
<block t3>
CONTENT
</block t3>
</block t2>
</block t2_container>
</root>
t2
El bloque debe estar vacío, y t3_container
debe tener un contenido t3
de bloques que hay dentro. ¿Cómo logro esto?
Gracias por regresar y agregar su solución @Richard! Esta solución funcionó muy bien y me salvó la noche – gtalarico