使用jinja将数据发送到Javascript

问题描述 投票:4回答:3

我有Python代码,其中我使用jinja将数据发送到Flask中的模板。我可以访问HTML中找到的代码,但是当我尝试在Javascript中显示数据时,它不起作用。例如,这是我的Python代码:

name = "Steve"
return render_template('simple.html',data=json.dumps(name))

在我的simple.html代码中,在html体中:

<script>
var name = {{ data }};
alert(name);
</script>

我的控制台中的错误显示“SyntaxError:Unexpected token'&'”

我知道我以前见过这个问题,但我忘了如何解决它。

python flask jinja2
3个回答
10
投票

没关系,我明白了。我需要使用安全来逃避代码。例:

<script>
var name = {{ data|safe }};
alert(name);
</script>

5
投票

Flask有一个内置的过滤器qazxsw poi。因此我们可以这样做:

烧瓶:

tojson

神社:

data = {
    "firstname": "Steve", 
    "lastname": "Jobs"
}
return render_template('simple.html', data=data)

1
投票

像这样使用它。

<script type="text/javascript">
var data = {{ data | tojson }}; 
console.log(data);
</script>

只需在数据部分附上引号即可。

© www.soinside.com 2019 - 2024. All rights reserved.