python - Jinja2:说 'Render this macro inside another macro or template'

标签 python templates macros jinja2

我有许多宏要在一个通用容器宏或模板中呈现。使用伪代码:

宏1

宏2

宏3

容器

在模板中:

"render macro1 inside of Container" e.g. {{ macro1 with Container }}

我不想每次都渲染 Container 然后再渲染里面的宏,我只需要指定,当这个宏与另一个宏一起包含时

我认为“调用”( http://jinja.pocoo.org/docs/templates/#macros ) 是我正在寻找的,但我现在不太明白。任何意见,如果不清楚我该如何澄清。

最佳答案

这对我有用:

{% macro _enclosure() %}
    <div id="topenclosure">hello I'm on top</div>
        {{ caller() }}
    <div id="bottomenclosure">hello I'm on the bottom</div>
{% endmacro %}

{% macro account_user_profile_macro(i) %}
    {% call _enclosure() %}
        {{i.__dict__}}
    {% endcall %} 
{% endmacro %}

关于python - Jinja2:说 'Render this macro inside another macro or template',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15796965/

相关文章:

python - ImportError : No module named grappellidjango. 贡献

python - 使用另一个 DataFrame 中找到的值创建一个新列

python - TensorFlow 数据集 API from_generator 序列结束错误

wcf - WCF 项目的样板,预计版本控制

c++ - 混淆段错误

objective-c - 错误 : expected expression on line using #defined constant

c++ - 有没有办法用#define 替换长 namespace ?

python - Python for 循环问题中的网页抓取未返回预期数据

c++ - 使用依赖于类型的模板名称的声明

qt - Qt : what do they do? 中的 SIGNAL 和 SLOT 宏