Jinja: Невозможно переопределить блоки во включенных шаблонах

Созданный на 8 янв. 2013  ·  3Комментарии  ·  Источник: pallets/jinja

Мы пытаемся переопределить блок во включенном шаблоне следующим образом:

#included.jinja2

{% block master %}
    Default master content
{% endblock %}
#base.jinja2
{% include "included.jinja2" %}
{% include "included.jinja2" with context %}

{% block master %}
Fnord
{% endblock master %}
#hello.jinja2
{% extends "base.jinja2" %}

{% block master %}

Overridden master content

{% endblock master %}

При запуске файла hello.jinja2 мы видим этот вывод

    Default master content
    Default master content
Overridden master content

Я ожидал, что по крайней мере второй основной контент по умолчанию будет заменен замещающим контентом.

Я думаю, это ошибка.

Все 3 Комментарий

Дубликат.

из?

Изменить: Какая проблема это дубликат?

тьфу, что еще хуже, шаблоны Django тоже этого не делают (см. примечание в конце: https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)

я подумал, что, может быть, jinja2 так и поступит, это избавит меня от кучи дублирования> _ <

в любом случае, я думаю, мне просто нужно найти способ упростить вещи :(

Была ли эта страница полезной?
0 / 5 - 0 рейтинги