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"