我的基本模板包含像这样的宏
{%- macro local_vars(d) -%}
{%- block local_vars %}
{% endblock -%}
{%- endmacro -%}
所以我想在子模板中覆盖这个块,仍然使用变量" d"来自基本模板。我试过这个:
{%- block local_vars -%}
{{d.out.type}} {{d.component_name}}_out;
{%- endblock -%}
,但我收到错误:
UndefinedError: 'd' is undefined.
我还尝试在基本模板中的块内创建新变量,并使用{{super}}访问它:
base:
{%- macro local_vars(d) -%}
{%- block local_vars %}
{% set dict = d%}
{% endblock -%}
{%- endmacro -%}
child:
{%- block local_vars -%}
{{super}}
{{dict.out.type}} {{dict.component_name}}_out;
}
{%- endblock -%}
,但这也不起作用。我只收到新的错误:
UndefinedError: 'function object' has no attribute 'out'
我以前没有使用过积木,所以任何帮助都会受到高度赞赏。 如果有办法将变量传递给子模板中的块,那对我来说这将是最轻松的解决方案,但我已经开始寻求建议。
提前致谢。