Python 将使用的html元素传递给烧瓶中的html

Python 将使用的html元素传递给烧瓶中的html,python,flask,Python,Flask,我有一个数据框,其中包含一个列,其中包含something元素。在一个flask应用程序中,我使用df.to_html()将此数据传递给一个模板,但它从不工作,总是在显示的html表中显示 我意识到我必须使用选项来_html(escape=False)来解决这个问题为了能够显示字符,并且&在中签名到_html()方法,我们需要将escape属性更改为False。因为默认情况下,to_html方法将字符和&转换为html安全序列。我们还需要在模板文件中使用safe过滤器来显示表中的标记 由于您已经

我有一个数据框,其中包含一个列,其中包含
something
元素。在一个
flask
应用程序中,我使用
df.to_html()
将此数据传递给一个模板,但它从不工作,总是在显示的html表中显示


我意识到我必须使用选项
来_html(escape=False)
来解决这个问题

为了能够显示字符
,并且&
中签名到_html()
方法,我们需要将
escape
属性更改为
False
。因为默认情况下,
to_html
方法将字符
和&
转换为html安全序列。我们还需要在模板文件中使用
safe
过滤器来显示表中的标记

由于您已经找到了如何在Flask模板中正确显示HTML,我将为将来的读者提供一个操作示例

app.py
包含一个带有
html
标记的数据框,我们希望在模板中呈现该标记:

import pandas as pd
from flask import Flask, render_template

def get_panda_data():
    tags = ["<h1>Example header</h1>",
            '<div style="color: red;">Example div</div>',
            '<input type="text" name="example_form" \
placeholder="Example input form">'
        ]
    pd.set_option('display.max_colwidth', -1)
    tags_frame = pd.DataFrame(tags, columns = ["Tag Example"])
    tags_html = tags_frame.to_html(escape=False)
    return tags_html    

app = Flask(__name__)

@app.route('/')
def index():
    html_data = get_panda_data()
    return render_template("dataframe_example.html", html_data = html_data)

if __name__ == '__main__':
    app.run(debug = True)
输出如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>Dataframe Flask Example</title>
</head>
<body>
    <h1>Dataframe Flask Example</h1>
        {{ html_data | safe }}
</body>
</html>