激活呼叫块中的多个呼叫块-jinja2

时间:2018-07-09 09:22:58

标签: jinja2

我正在使用Jinja2进行项目。 在使用“宏”时,我遇到了需要辅助功能的问题,并且 Jinja在“呼叫阻止”中提供了很好的解决方案。

我的问题是这个, 我希望此“呼叫块”调用多个其他呼叫块。 但是,Jinja似乎无法使用此功能。

我的目标是为每种情况调用一个不同的私有函数(或在Jinja情况下为“调用块”)来实现与switch case语句非常相似的东西。


**重要说明: 我知道可以通过使用Flask对python函数进行扩展来解决此问题。我正在寻找Jinja解决方案。


这是我要实现的一些示例代码:

{% macro foo(num) %}
    {{ caller(num) }}
{% endmacro %}

{% call(num) foo(number) %}
    {{ if condition1(num) is True }}
        {{ helper_call_1(num) }}
    {{ if condition2(num) is True }}
        {{ helper_call_2(num) }}
... for any number of conditions
{% endcall %}

谢谢!

0 个答案:

没有答案