昨天下午加今天上午一直在調程序
結果調到最後,發現所有的問題無外乎兩種
1、需要的文件沒有導入
2、中文亂碼問題
json裏所有的數據都是沒編碼的,所以如果要寫中文的話,需要在前面加上u
利用數據出圖代碼
html
<div id="chart-bandwidth"></div>
$('#submit').click(function() { var day = $('#beginDate').val(); var nodename = $('#nodename').find("option:selected").text(); if (nodename == "0") { return; } FusionCharts._fallbackJSChartWhenNoFlash(); var chartBindwidth = new FusionCharts("/static/swf/MSCombiDY2D.swf", "cd", "100%", "300", "0", "1"); var urlBigNode = "/bignode/bandwidth/"; urlBigNode += "?nodename="+nodename; urlBigNode += "%26beginDate="+day; chartBindwidth.setJSONUrl(urlBigNode); chartBindwidth.render("chart-bandwidth"); });
views.py
data = Bignode.objects.filter(**args).order_by("time")
mscombidy2d = MSCombiDY2D(u"大節點帶寬", beginDate)
mscombidy2d.categories = {"category": [{"name": d.time.strftime("%H:%M")} for d in data]}
print mscombidy2d.categories
mscombidy2d.dataset = [
{"seriesname": u"剩餘帶寬", "parentyaxis": "P", "color": "5a885e",
"data": [{"value": "%s" %(d.remainBandwidth,)} for d in data]
},
{"seriesname": u"帶寬利用率", "parentyaxis": "S", "renderas": "Line", "color": "dca657", "anchorbgcolor": "dca657",
"data": [{"value": "%s" %(d.ratio,)} for d in data]
}
]
res = json.dumps(mscombidy2d.to_dict(), ensure_ascii=False, sort_keys=True, indent=4)
return HttpResponse(res)