これが可能かどうかはよくわかりません。基本的に、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 を定義するループの 2 つの別々のループを使用する実用的なソリューションを持っています。これを1つのループにまとめようと思っているので、ループ以外の方法があれば教えてください。
回答ありがとうございます。