为什么这个 Jinja 宏呈现文本而不是 HTML?

Why does this Jinja macro render text instead of HTML?

我有以下名为 post-macro 的模板,但是当我在 page.html 模板中调用宏时,它会插入一个带引号的字符串,其中包含 HTML,而不是直接插入 HTML.

post-macro:

{% macro postmacro(post) %}
// html here
{% endmacro %}

page.html:

{% from "post-macro" import postmacro with context %}
{{ postmacro(post) }}

它呈现这样的页面。注意输出周围的双引号。

"
    html here
"

我需要更改什么才能直接获取 HTML 而不是引号?

post-macro 模板重命名为 post-macro.html,Jinja 将直接呈现 HTML。