Форум сайта python.su
0
Встал такой вопрос касательно правильной организации наследования шаблонов.
Как наследовать шаблоны от главного?
Я сперва сделала вот так в главном шаблоне:
{% ifequal section 'mp' %}
{% block main_page %}{% endblock %}
{% endifequal %}
{% ifequal section 'archive' %}
{% block archive %}{% endblock %}
{% endifequal %}
{% ifequal section 'post' %}
{% block post %}{% endblock %}
{% endifequal %}
{% ifequal section 'all_tags' %}
{% block all_tags %}{% endblock %}
{% endifequal %}
{% ifequal section 'tag' %}
{% block tag %}{% endblock %}
{% endifequal %}
{% ifequal section 'page' %}
{% block page %}{% endblock %}
{% endifequal %} {% block main_page %}{% endblock %}
{% block archive %}{% endblock %}
{% block post %}{% endblock %}
{% block all_tags %}{% endblock %}
{% block tag %}{% endblock %}
{% block page %}{% endblock %}Офлайн
2
MutagenaА зачем все эти блоки? Почему бы не сделать один блок content
Вообще правильно ли я делаю, или необходимо это делать каким-то другим образом?
{% block content %}
{% endblock %}Офлайн
0
MutagenaВсё правильно делаете. Если в главном шаблоне есть этот блок, а в других шаблонах, использующих его, этот блок переопределён, то блок будет показан. Иначе - нет.
{% block archive %}{% endblock %}
Офлайн
0
Daevaorn, а там структура разная у наследников, одним блоком не обойтись.
tezro, спасибо, душа теперь спокойна.
Офлайн
2
MutagenaТак не имеет значение какая структура у наследников. В базовом шаблоне вы просто описываете плейсхолдеры для контента наследников.
Daevaorn, а там структура разная у наследников, одним блоком не обойтись.
Офлайн
0
Daevaorn, да просто не хочется делать трёхуровниевое наследование, так как сама структура сайта достаточно проста.
Офлайн