Я хочу создать макет с блоком с именем content
, а другой макет, который переопределяет этот блок content
, добавив html, чтобы я мог создать окончательный шаблон, который может расширять любые макеты и использовать блок content
.
Это пример того, что я хочу сделать:
index.html
<html>
<body>
{% block body %}{% endblock %}
</body>
</html>
index-with-container.html
{% extends 'index.html' }
{% block body %}
<div class="container">
{% block body %}{% endblock %} <-- This is what I want
</div>
{%end block %}
page.html
{% extends 'index.html' } or {% extends 'index-with-container.html' }
{% block body %}
This is the content
{% endblock %}
Как вы можете видеть, в page.html
я хочу расширить index
или index-with-container
и используйте блок body
, а в index-with-container
я хочу переопределить body
, чтобы добавить html до и после содержимого дочернего шаблона.
Важная часть заключается в том, чтобы не создавать новые блоки с новыми именами , поскольку цель состоит в том, чтобы иметь возможность внедрять шаблоны в цепочку наследования без необходимости изменять имена блоков в дочерних или родительских элементах.