Jinja-呈现包含html

时间:2019-03-13 12:10:56

标签: python flask jinja2

我有一个Jinja模板,其中包含以下代码:

<div class="panel-body">
  {{ doc.render() }}
</div>

我将变量doc传递给模板(使用Flask的render_template)。这是我的Document类的实例,其中的render函数读取文件并返回包含HTML的字符串。我不能只做{% include doc.filepath %},因为生成的HTML随文档类型(例如,文本,邮件或聊天)而不同。

当我查看渲染的模板时,它显示的是原始HTML而不是渲染的HTML。这是有道理的,因为它是一个字符串,但是如何在模板中呈现它呢?

1 个答案:

答案 0 :(得分:3)

您需要disable autoescaping

{{ doc.render()|safe }}