Форум сайта python.su
Встал такой вопрос касательно правильной организации наследования шаблонов.
Как наследовать шаблоны от главного?
Я сперва сделала вот так в главном шаблоне:
{% 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 %}
Офлайн
MutagenaА зачем все эти блоки? Почему бы не сделать один блок content
Вообще правильно ли я делаю, или необходимо это делать каким-то другим образом?
{% block content %}
{% endblock %}
Офлайн
MutagenaВсё правильно делаете. Если в главном шаблоне есть этот блок, а в других шаблонах, использующих его, этот блок переопределён, то блок будет показан. Иначе - нет.
{% block archive %}{% endblock %}
Офлайн
Daevaorn, а там структура разная у наследников, одним блоком не обойтись.
tezro, спасибо, душа теперь спокойна.
Офлайн
MutagenaТак не имеет значение какая структура у наследников. В базовом шаблоне вы просто описываете плейсхолдеры для контента наследников.
Daevaorn, а там структура разная у наследников, одним блоком не обойтись.
Офлайн
Daevaorn, да просто не хочется делать трёхуровниевое наследование, так как сама структура сайта достаточно проста.
Офлайн