使用jinja2仅渲染HTML

时间:2019-06-14 11:49:29

标签: javascript python html jinja2

我正在使用Jinja2渲染html页面,而该页面又具有生成div的Javascript代码。我需要用执行的JavaScript代码生成的html,而不是像这样的标记:

<html>
<body>
<script>create_a_div()</script>
</body>
</html>

所需的输出是:

<html>
<body>
<div></div>
</body>
</html>

函数render中可以使用任何参数吗?

我希望该JavaScript代码在客户端执行, 但出于安全原因,我不允许保存它。

1 个答案:

答案 0 :(得分:0)

如果我清楚地了解您的要求,恐怕答案是,则您无法在render函数中执行JavaScript代码。

您可以做的是,使用安全过滤器将html作为变量传递到模板中。

模板:

<html>
<body>
  {{ custom_html|safe }}
</body>
</html>

在渲染时,请使用以下Python代码:

template.render(custom_html="<div>your html code</div>") 

这将为您提供所需的输出。

您可以了解有关JINJA2模板和变量here

的更多信息