1

我什至不太确定这是否可能。基本上,我有一个带有 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。我正在尝试将其压缩为使用单个循环,所以如果除了循环之外还有其他方法,请告诉我。

提前感谢您的答案。

4

0 回答 0