Ama*_*nda 5 python jinja2 flask
我有Python代码,其中我使用jinja将数据发送到Flask中的模板.我可以访问HTML中找到的代码,但是当我尝试在Javascript中显示数据时,它不起作用.例如,这是我的Python代码:
name = "Steve"
return render_template('simple.html',data=json.dumps(name))
Run Code Online (Sandbox Code Playgroud)
在我的simple.html代码中,在html体中:
<script>
var name = {{ data }};
alert(name);
</script>
Run Code Online (Sandbox Code Playgroud)
我的控制台中的错误显示"SyntaxError:Unexpected token'&'"
我知道我以前见过这个问题,但我忘了如何解决它.
Ama*_*nda 10
没关系,我明白了.我需要使用安全来逃避代码.例:
<script>
var name = {{ data|safe }};
alert(name);
</script>
Run Code Online (Sandbox Code Playgroud)
Flask有一个内置的tojson过滤器。因此,我们可以这样做:
烧瓶:
data = {
"firstname": "Steve",
"lastname": "Jobs"
}
return render_template('simple.html', data=data)
Run Code Online (Sandbox Code Playgroud)
jinja2:
<script type="text/javascript">
var data = {{ data | tojson }};
console.log(data);
</script>
Run Code Online (Sandbox Code Playgroud)