• Jinja2. В чем отличия extends от include?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Разница конечно же есть, и значительная. Extends расширяет существующий шаблон, а include добавляет в нужное место кусок шаблона.

    Представим ситуацию с достаточно большим шаблоном, где нужно поменять только часть страницы. Базовый шаблон выглядит примерно так
    <!-- parent -->
    {%block заголовок%}
    {%block левый_блок%}
    {%block правый_блок%}
    {%block тело%}
    {%block подвал%}

    Если наследоваться от этого шаблона, то получится примерно так
    <!-- chlid -->
    {% extends parent %}
    {%block левый_блок %}
    {%block тело %}

    В противном случае нам пришлось бы инклюдами подключать все остальные блоки.
    Ответ написан
    3 комментария