Я не уверен, возможно ли то, что я хочу сделать: я пытаюсь получить блок в родительском шаблоне для заполнения файлом, включенным в дочерний шаблон родителя.
Лучший способ объяснить это - контрольный пример:
Файл 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>
Файл t2.djhtml :
{% extends 't1.djhtml' %}
{% block t2 %}
<block t2>
{%- include 't3.djhtml' with context %}
</block t2>
{% endblock %}
Файл t3.djhtml :
{% block t3 %}
<block t3>
CONTENT
</block t3>
{% endblock %}
Файл test.py :
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader(''))
t=env.get_template('t2.djhtml')
print t.render()
Вывод:
<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
должен быть пустым, а t3_container
должен иметь содержимое блока t3
внутри. Как мне это сделать?