我的 JINJA2 模板如下所示。
\n\n{% macro print_if_john(name) -%}\n{% if name == \'John\' -%}\n Hi John\n{%- endif %}\n{%- endmacro %}\nHello World!\n{{print_if_john(\'Foo\')}}\n{{print_if_john(\'Foo2\')}}\n{{print_if_john(\'John\')}}\nRun Code Online (Sandbox Code Playgroud)\n\n结果输出是
\n\nHello\xe2\x80\xa2World!\n\n\nHi\xe2\x80\xa2John\nRun Code Online (Sandbox Code Playgroud)\n\n我不想要“Hello World!”和“Hi John”之间的 2 个换行符。看起来当对宏的调用导致宏没有输出时,JINJA 无论如何都会插入换行符。有什么方法可以避免这种情况吗?我在宏本身的调用中添加了减号,但这没有帮助。
\n\n\n