我需要将来自 HttpResponse 的数据显示为图表。(xaxis = datetime,yaxis 是一个聚合统计函数)。我成功地将数据导出到 csv 文件中。如何将 django 与 amcharts 集成?
def monitor(request):
if request.method == 'POST' :
forms = ServicesForm(request.POST)
if forms.is_valid():
service = forms.cleaned_data['service']
scale = forms.cleaned_data['scale']
datatype = forms.cleaned_data['datatype']
starttime = forms.cleaned_data['starttime']
endtime = forms.cleaned_data['endtime']
db_table = u'servicestats'
name = Servicenames.objects.get(servicename=service)
servicestats = Servicestats.objects.raw('SELECT distinct dtime,scale,' + datatype + ' FROM ' + db_table + ' WHERE scale = ' + str(scale) + ' AND dtime BETWEEN "' + str(starttime) + '" AND "' + str(endtime) + '" AND service_id = ' + str(name.id))
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment;filename="export.csv"'
writer = csv.writer(response)
for s in servicestats:
if datatype =='cnt':
writer.writerow([s.dtime,s.cnt])
if datatype =='avg' :
writer.writerow([s.dtime,s.avg])
if datatype =='min' :
writer.writerow([s.dtime,s.min])
if datatype =='max' :
writer.writerow([s.dtime,s.max])
if datatype =='threenines' :
writer.writerow([s.dtime,s.threenines])
return response
else:
forms = ServicesForm
return render_to_response('monitor/monitor.html', {'forms':forms},
context_instance = RequestContext(request))
template,html :
<form action='/monitor/' method="post"> {%csrf_token%}
{{ forms.as_p}}
<input type = "submit" value = "Submit">
</form>