Jinja : доступ к родительской переменной из дочерней

Я использую Jinja для установки системных переменных моих бюллетеней.

У меня есть общий файл переменных (parent.j2), и каждая тема может переопределять эти переменные (child.j2) через {% extends 'parent.j2' %}

Со стороны родителя я могу получить доступ к переменным, объявленным в дочерней системе, но не наоборот, есть ли способ?

Спасибо :)

РАБОТАЕТ

parent.j2 {% set a = a|default(1) %}

child.j2 {% set a = 3 %}

(a = 3)

НЕ РАБОТАЕТ

parent.j2 {% set a = 1 %}

child.j2 {% set b = a %}

(a не определено)

В итоге я добавил import под extends, и это работает до сих пор.

Пример работы :

parent.j2

{% set foo = foo|default("foo") %}
{% set from_parent = "ok" %}

child.j2

{% extends 'parent.j2' %}
{% import 'parent.j2' as parent with context %}
{% set foo = "bar" %}
{% set to_child = parent.from_parent %}

Выход :

foo : "bar"

to_child : "ok"

Вернуться на верх