我什至不太确定这是否可能。基本上,我有一个带有 for 循环的 Jinja2 模板。我想知道如果满足某些条件,是否想在循环之外输出代码。我将尝试使用 Jinja2 代码和一些伪代码作为示例:
display_above()
this text will not be in the for loop
{%- for foo in bar -%}
this text is below
{% if condition == met %}
{# the condition is met #}
call display_above() or some function
{% endif %}
{% endfor %}
我尝试使用宏,但文本被包裹在 for 循环中。我之所以要这样做是因为 Jinja2 模板正在创建一个 C 文件。在这个 C 文件中,有一个结构体。main_struct 是使用 for 循环定义的,但我想定义 main_struct 上方的 main_struct 中的 sub_structs。
请注意:我确实有一个工作解决方案,它使用两个单独的循环,一个定义 main_struct,一个定义 sub_structs。我正在尝试将其压缩为使用单个循环,所以如果除了循环之外还有其他方法,请告诉我。
提前感谢您的答案。