python - 为什么这个 Jinja 宏渲染文本而不是 HTML?

标签 python html flask jinja2

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

后宏:

{% 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。

关于python - 为什么这个 Jinja 宏渲染文本而不是 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28597537/

相关文章:

python - 机器学习: Does computing the accuracy score for binary labels always result in a low accuracy score?

html - 页脚底部的间距

html - 嵌入式 VBScript 中的 "<%"和 "<%="有什么区别?

python - 在 flask 中,如何在特定的可插入 View 上执行 before_filter?

python - Flask 自动重新连接 PostgreSQL

python - 如何为Python脚本编写配置文件

python - 导入类实例化

python - 单词搜索的递归函数

javascript - 如何在 HTML 中添加 JQuery 代码?

python - 为什么我的 alembic 迁移有问题