У меня есть родительский шаблон, в котором переменная параметров и этот шаблон содержит пару других подшаблонов, где я хочу повторно использовать эту переменную. К сожалению, в шаблонах для детей эта переменная пуста. Как это исправить?Переменные Jinja2 в включенном шаблоне
<!-- index.html -->
{%- set title= ' :: '.join((caption, page_title or '')) -%}
{%- set description= ' :: '.join((desc, meta_desc or '')) -%}
{%- block page_header -%}
{% include 'parts/_header.html' %}
<!-- I also tried do it with context without luck -->
{% include 'parts/_header.html' %}
{%- endblock page_header -%}
<!-- parts/header.html -->
<header class="header-wrapper">
<div class="header">
<div class="title"><h1 class="title">{{ title|safe }}</h1></div>
<div class="description">{{ description|safe }}</div>
</div>
</header>
UPD: После небольшого исследования я обнаружил, что вопрос, связанный с {% block %}
секции - в include
теге находится вне block
, то она предоставляется с контекстом документа. Но по некоторым причинам я хотел бы сохранить его внутри block
.
Хм, хорошее решение! Я не могу проверить это прямо сейчас, но это может быть полезно для будущего использования. –