在使用django 或 flask开发时多数情况都离不开模板的使用,模板的好处显而易见可以在后端进行渲染,也就是说你可以把数据打包成一个字典dict,然后在template中以{{ data }}的方式来显示数据。
其实刚刚所说的渲染只是将{{ data }}这个地方改成对应的字符串,也可以理解为字符串中的占位符,只不过在模板渲染时进行了替换。
如何在<script>中拿到后端传过来的数据?
在使用模板时,我们会传入一个python的dict,没错,这是一个python字典对象。
但是js中是无法解析python对象的。
其实,我们可以通过将需要在js中使用的数据放在python字典中的一个key-value中。
比如你的dict长成这样:
data = {
'name': 'aaa',
'age': '20',
'embedData': 'json'
}
这里的embedData的值就是要在js中操纵的数据了,需要在放入data前,将其转为json格式的数据。
可以考虑使用json.dumps(obj)进行序列化。
顺便说一下:
简单来说,序列化是指将对象转换成字符串的操作,反之,从字符串转换成对象的操作为反序列化。
在js中可以直接使用embedData变量就行了。
<script>
var embedData = "{{ embedData }}";
</script>
内容来自stackoverflow:传送门
网友评论