小编Rag*_*ugu的帖子

Python Jinja2 调用宏会导致(不需要的)换行符

我的 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\')}}\n
Run Code Online (Sandbox Code Playgroud)\n\n

结果输出是

\n\n
Hello\xe2\x80\xa2World!\n\n\nHi\xe2\x80\xa2John\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不想要“Hello World!”和“Hi John”之间的 2 个换行符。看起来当对宏的调用导致宏没有输出时,JINJA 无论如何都会插入换行符。有什么方法可以避免这种情况吗?我在宏本身的调用中添加了减号,但这没有帮助。

\n\n

请注意,我在http://jinja2test.tk/测试了此模板和生成的代码

\n

python macros jinja2

4
推荐指数
1
解决办法
2587
查看次数

标签 统计

jinja2 ×1

macros ×1

python ×1