使用django框架做网站进行数据统计与分析,中间用到了highcharts插件,现在是需要从view函数中传入series数据到网页模版中。view中的数据如下所示:
series_1 = [
{'type': 'column', 'data': [4056], 'name': '版本1'},
{'type': 'column', 'data': [3016], 'name': '版本2'},
{'type': 'column', 'data': [3765], 'name': '版本3'},
{'type': 'column', 'data': [4056], 'name': '版本4'}
视图函数如下所示:
def chart2(request):
context = {
'series':series_1
}
return render(request, 'chart2.html', context)
网页相关highcharts代码如下所示:
<script>
$(function () {
$('#container').highcharts({
title: {
text: 'Tongji',
x: -20 //center
},
yAxis: {
title: {
text: 'number'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
series:{{series|safe}}
});
});
</script>
然后运行网站打印出的图表都是乱码,如下图所示:
我使用的python版本是python2.7.10,数据库是mongodb3.2.4,如果给中文字符串加上’u‘前缀都变成
{'type': 'column', 'data': [4056], 'name': u'版本1'}
这样子的话,js就会报错,报错信息如下:
似乎js不能正确识别u,把它当成了一个属性。
请各位高手出马看看这个问题怎样解决,不胜感激。