我正在为Flask和SQLAlchemy构建一个管理员,我想使用 render_template 将不同输入的HTML传递给我的视图 . 模板框架似乎自动转义html,因此所有<“'>都转换为html实体 . 如何禁用它以便HTML呈现正确?
render_template
理想的方式是
{{ something|safe }}
而不是完全关闭自动逃逸 .
来自jinja docs部分HTML Escaping:
启用自动转义时,除默认标记为安全的值外,默认情况下都会转义所有内容 . 这些可以由应用程序标记,也可以使用安全过滤器在模板中标记 .
例:
<div class="info"> {{data.email_content|safe}} </div>
您还可以从代码中声明HTML安全:
from flask import Markup value = Markup('<strong>The HTML String</strong>')
然后将该值传递给模板,它们不必 |safe 它 .
|safe
3 回答
理想的方式是
而不是完全关闭自动逃逸 .
来自jinja docs部分HTML Escaping:
例:
您还可以从代码中声明HTML安全:
然后将该值传递给模板,它们不必
|safe
它 .