kra*_*r65 1 html python template-engine jinja2 flask
我正在使用(很棒的)Flask 框架来构建网站,但我现在遇到了 html 无法正确呈现的问题。我的模板中有一行带有 if-else 取决于public变量是否为 True:
{{ theInfo if public else '<span style="background-color: green;">this info is hidden</span>' }}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只是在浏览器中显示 html,而不是渲染它。我是否需要以某种方式让 Jinja 知道它的 html 应该被渲染?
欢迎所有提示!
默认情况下,Jinja 会转义传递的数据。因此,您需要明确告诉 Jinja 数据safe要使用:
{{ theInfo if public else '<span style="background-color: green;">this info is hidden</span>' | safe }}
Run Code Online (Sandbox Code Playgroud)