У меня есть два шаблона jinja2, где вторая распространяется первая:упаковка блоков в Jinja2
<h1>Some title</h1>
{% block content %}
{% endblock %}
и
{% block content %}
content
{% endblock %}
Теперь я хочу, чтобы иметь возможность вставить переменное число «оберток» между этими двумя шаблонами, где вторая расширяет оболочку (которая расширяет следующую оболочку) *, которая расширяет первый шаблон. Оболочка может выглядеть следующим образом:
{% block content %}
<div class="wrapper">
{% block content %}
{% endblock %}
</div>
{% endblock %}
Я бы ожидать, что это приведет к следующему оказанной HTML:
<h1>Some title</h1>
<div class="wrapper">
content
</div>
К сожалению шаблон обертка сверху не действует в Jinja2, потому что блоки просто не работайте так. Итак, есть ли способ сделать то, что я хочу сделать в jinja2? Если нет: существуют ли какие-либо другие механизмы шаблонов, которые способны на это?
(Обратите внимание, что переименование внутреннего блока не будет делать, потому что мне нужно, чтобы иметь возможность добавить переменной количества оберток.)
Вам нужно указать свои уникальные имена. – dirn
Я знаю это. Мой вопрос не * почему * это не работает, но * как * я мог бы заставить его работать. И уникальные имена не являются решением, как уже объяснялось в вопросе. – tobib
Как вы управляете переменным числом оберток? – dirn