Javascript 使用Jquery在Flask模板中编码问题

Javascript 使用Jquery在Flask模板中编码问题,javascript,jquery,flask,jinja2,Javascript,Jquery,Flask,Jinja2,我有两个模板,第一个模板简单地从数据库中提取数据并在页面上显示,第二个模板将相同的数据传递给提供布局和其他内容的jquery“制表器”。 问题是,显然同一个{{place.name}}在第一张纸上被印成薯条和啤酒,而薯条和啤酒则被印成薯条;第二杯啤酒 这是第一个模板 <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edg

我有两个模板,第一个模板简单地从数据库中提取数据并在页面上显示,第二个模板将相同的数据传递给提供布局和其他内容的jquery“制表器”。 问题是,显然同一个{{place.name}}在第一张纸上被印成薯条和啤酒,而薯条和啤酒则被印成薯条;第二杯啤酒

这是第一个模板

<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous">
    <title>Milano - Publist</title>
</head>

<body>

    <div class="container">
        <table>
            <tr>
                <th>NOME</th>
            </tr>
            {% for place in places %}
                <div class="row">
                    <tr>
                        <td>{{ place.name }}</td>

                    </tr>
                </div>
            {% endfor %}
        </table>
</body>
这是带有jquery和tablator的模板

<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous">
    <link href="static/tabulator.min.css" rel="stylesheet">
    <title>Milano - Publist</title>
</head>

<body>

    <div class="container">
        <script type="text/javascript" src="static/jquery.js"></script>
        <script type="text/javascript" src="static/jquery-ui.min.js"></script>

        <script type="text/javascript" src="static/tabulator.min.js"></script>
        <div id="example-table"></div>
        <script type="text/javascript">

        var tabledata = [];
        {% for place in places %}
            var line = {}
            line.name = "{{ place.name }}"
            tabledata.push(line)
        {% endfor %}
            //load sample data into the table

            $("#example-table").tabulator({
            height:"100%", // set height of table (in CSS or here), this enables the Virtual DOM and improves render speed dramatically (can be any valid css height value)
            layout:"fitColumns", //fit columns to width of table (optional)
            columns:[ //Define Table Columns
                {title:"Nome", field:"name", width:150}
            ],
        });

         $("#example-table").tabulator("setData", tabledata);
        </script>

    </div><!-- /.container -->
</body>

我无法找出编码实际发生的位置。

根据文档:

注意:为了防止代码注入,任何用于显示纯文本、textarea、money、email、link的格式化程序都会首先对数据进行消毒,以避免任何可能有害的HTML或JavaScript进入表中,这会导致任何此类数据显示为其纯文本替代品。如果希望正确显示HTML,请使用HTML格式化程序,但请注意,如果您的数据可以由用户编辑,这可能会导致恶意脚本注入

您看到的是一个简单的HTML编码,它是为了应用程序的安全。您可以尝试使用formatter:html或自己准备一个自定义过滤器