FLASK 模板 如何输出 转义后的 HTML html_content 是经过 HTML 实体转义(< 代表 <,> 代表 >)的字符串,需要先反转义再渲染。以下是 Flask 模板中正确输出的方法:

html_content 是经过 HTML 实体转义(&lt; 代表 <&gt; 代表 >)的字符串,需要先反转义再渲染。以下是 Flask 模板中正确输出的方法:


FLASK

from flask import Flask, render_template
import html

app = Flask(__name__)

# 注册自定义过滤器
@app.template_filter('unescape_and_safe')
def unescape_and_safe(s):
    return html.unescape(s)

@app.route('/')
def index():
    html_content = '&lt;h2&gt;TR系列...&lt;/a&gt;'
    return render_template("index.html", html_content=html_content)


前端HTML

<!DOCTYPE html>
<html>
<head>
    <title>渲染 HTML 字符串</title>
</head>
<body>
    {{ html_content | unescape_and_safe | safe }}
</body>
</html>