为什么这个 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。
我有以下名为 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。