Я создаю веб-сайт с уникальным дизайном домашней страницы (главная страница имеет другой заголовок и расположение логотипа, чем все остальные страницы).Однако я хотел бы иметь базовый шаблон, от которого все наследует, чтобы сократить избыточность.
-base.html
-basehome.html (inherits from base.html)
-basesecond.html (inherits from base.html)
-about.html (inherits from basesecond.html)
-etc...
Таким образом, base.html содержит объявление html и структуру.Basehome.html и basesecond.html содержат различные структуры заголовков, а различные другие страницы сайта наследуются от basesecond.html.
Поэтому проблема, с которой я продолжаю сталкиваться, заключается в том, что мне нужно поставить блоквнутри блока для обработки содержимого тела, которое явно содержит (самый дальний) дочерний шаблон.Насколько я знаю, Django не позволяет вам делать это.
base.html -
<html>
<head>
<title>Mysite</title>
</head>
<body id="{% block bodyholder %}{% endblock %}">
<div id="hd">{# start of hd #}
{% block hd %}{% endblock %}
</div>{# end of the hd #}
<div id="bd">{# start of body #}
{% block bd %}{% endblock %}
</div>{# end of body #}
</body>
</html>
basehome.html -
{% extends "base.html" %}
{% block bodyholder %}bodyhome{% endblock %}
{% block hd %}
big logo and wide header
{% endblock %}
{% block bd %}
homepage body content
this part works just like I want it to.
{% endblock %}
basesecond.html -
{% extends "base.html" %}
{% block bodyholder %}bodysecond{% endblock %}
{% block hd %}
small logo and narrow header
{% endblock %}
{% block bd %}
second page body content
here is where I want to put extra blocks like
{% block unique about page sidebar %}{% endblock %}
but it breaks the template system
{% endblock %}
Как лучше всего решить эту проблему?