[django]django+post+ajax+highcharts使用方法
直接代码展示:
view.py文件代码
from django.http import JsonResponse #django ajax部分 def ajax_kchart(request):
times = request.POST['shijian']
chnl = request.POST['chnl']
chnl_data = keywork_chart(chnl,times)
data_list = []
for j in chnl_data:
data_list.append(j)
return JsonResponse(data_list,safe=False)
这里重点关注两点 ajax_kchart函数名 和 JsonResponse(data_list,safe=False)返回json的函数
ajax_kchart函数名需要出现在url配置中,Django 1.7 及以后的版本才可以用到JsonResponse,若返回参数是列表,要令safe=False
url.py代码:
url(r'^workchart/$', 'keywork.views.ajax_kchart', name='ajax_kchart'),
模板代码:
{% load staticfiles %}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="{% static 'js/jquery/jquery.min.js' %}"></script>
<script src="{% static 'js/Highcharts/js/highcharts.js' %}"></script>
<script>
$(document).ready(function(){
$("#btn3").click(function(){
$.post("{% url 'ajax_kchart' %}",
{
csrfmiddlewaretoken:"{{ csrf_token }}",
shijian:$("#shijian3").val(),
chnl:$("#mkt_chnl").val(),
},
function (data,status) {
var day_id = [];
var ydxz = [];
var ydjz = [];
var kdxz = [];
var kdjz = [];
var dsxz = [];
var dsjz = [];
var lbdg = [];
var sjqz = [];
var sjxz = [];
var ftth = [];
for (var i = 0; i <= data.length - 1; i++) {
var cdma_jz = data[i].cdma_xz + data[i].cdma_zdcj;
var adsl_jz = data[i].adsl_xz + data[i].adsl_zdcj;
var iptv_jz = data[i].iptv_xz + data[i].iptv_zdcj;
var pstn_jz = data[i].pstn_xz + data[i].pstn_zdcj;
$("#zhiju").html(data[i].mkt_chnl_name);
day_id.push(data[i].day_id);
ydxz.push(data[i].cdma_xz);
ydjz.push(cdma_jz);
kdxz.push(data[i].adsl_xz);
kdjz.push(adsl_jz);
dsxz.push(data[i].iptv_xz);
dsjz.push(iptv_jz);
lbdg.push(data[i].dlb_dg);
sjqz.push(data[i].cdma_qz);
sjxz.push(data[i].sjsg_xz);
ftth.push(data[i].ftth_xz);
};
$('#cdma_chart').highcharts({ //移动业务发展图表
chart: {
type: 'line'
},
title: {
text: '移动业务发展量'
},
xAxis: {
categories: day_id
},
yAxis: {
title: {
text: '个'
}
},
series: [{
name: '移动新增',
data: ydxz
}, {
name: '移动净增',
data: ydjz
},{
name: '4G新增',
data: sjxz
}
],
plotOptions: {
line: {
dataLabels: {//数据标签
enabled: true
}
},
series: {//延迟加载
animation: false
}
},
});
} }
</script>
/head>
<body>
<form class="form-inline">
{% csrf_token %}
<label class="control-label"><i class="icon-time"></i> 时间</label>
<select name="shijian3" id="shijian3" class="input-small" placeholder=".input-small">
{%for d in downlist%}
<option value="{{d.day_id}}">{{d.day_id}}</option>
{%endfor%}
</select>
<label class="control-label"><i class="icon-eye-open"></i> 支局</label>
<select name="mkt_chnl" id="mkt_chnl" class="input-small" placeholder=".input-small">
{% for d in data %}
<option value="{{d.mkt_chnl_id}}">{{d.mkt_chnl_name}}</option>
{%endfor%}
</select>
<input type="button" id="btn3" value="查询" class="btn btn-primary btn-sm"/>
</form>
<div class="chart" id="cdma_chart"></div>
</body>
</html>
完毕!
[django]django+post+ajax+highcharts使用方法的更多相关文章
- Django 如何让ajax的POST方法带上CSRF令牌
问题 大家知道,在大前端领域,有一种叫做ajax的东东,即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),它被用来在不刷新页面的情况下,提 ...
- Django框架 之 Ajax
Django框架 之 Ajax 浏览目录 AJAX准备知识 AJAX与XML的比较 AJAX简介 jQuery实现的ajax AJAX参数 AJAX请求如何设置csrf_token 序列化 一.AJA ...
- 根据Django后台的ajax大全
一.什么是ajax 1.1 什么是JSON? AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语 ...
- Django中的Ajax详解
AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当 ...
- Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法
Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法 2018/11/06 Chenxin 资料说明 Django基础入 ...
- Django如何与ajax通信
示例一 文件结构 假设你已经创建好了一个Django项目和一个App,部分结构如下: mysite myapp |___views.py |___models.py |___forms.py |___ ...
- Django的日常-AJAX
目录 Django的日常-AJAX AJAX简介 AJAX与JQ的一个实例 AJAX与contentType AJAX传json格式 AJAX传文件 Django的日常-AJAX AJAX简介 首先A ...
- Python 之 Django框架( Cookie和Session、Django中间件、AJAX、Django序列化)
12.4 Cookie和Session 12.41 cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务 ...
- django中post方法和get方法的不同
当我们提交表单仅仅需要获取数据时就可以用GET: 而当我们提交表单时需要更改服务器数据的状态,或者说发送e-mail,或者其他不仅仅是获取并显示数据的时候就使用POST. 在这个搜索书籍的例子里,我们 ...
随机推荐
- 好的Ui界面地址
http://121.40.148.178:8080/http://www.uimaker.com/http://www.uimaker.com/uimakerhtml/bshtml/124261.h ...
- .net实现与excel的数据交互、导入导出
应该说,一套成熟的基于web的管理系统,与用户做好的excel表格进行数据交互是一个不可或缺的功能,毕竟,一切以方便客(jin)户(qian)为宗旨. 本人之前从事PHP的开发工作,熟悉PHP的都应该 ...
- this上下文,以及通过call 、apply 实现继承
上下文:this关键字通常指向当前函数的拥有者,把拥有者叫做执行上下文. this代表函数运行时自动生成的内部对象,只能在函数内部使用. 构造函数中的this 指 构造函数的实例对象.javascri ...
- composer 代码库管理
composer 代码库管理 参考资料:https://packagist.org/about#naming-your-package简介composer 命令的请求源是 packagist.org* ...
- IDCM项目学习笔记
项目介绍: IDCM:Internet Data center monitoring 网络数据中心监控平台 IRP:Information Resource planing 信息资源规划 1.设置表中 ...
- springmvc添加mock json的支持
在springmvc中 添加对服务器classPath下的json文件解析之后返回的mock功能: import java.io.FileNotFoundException; import java. ...
- jquery叠加页片自动切换特效
查看效果:http://keleyi.com/keleyi/phtml/jqtexiao/34.htm 下面是HTML代码: <!DOCTYPE html> <html xmlns= ...
- Web(Jsp+ Servlet)开发中如何解决中文乱码问题
1.中文乱码的成因 编码的字符集和解码的字符集不一致. 2.web开发过程中可能出现的乱码的位置及解决方案 ①request乱码 在向服务器传递数据时,所传递的中文有可能出现乱码. post请求(协议 ...
- npm插件制作及发布基础教程
最近有同事在搞npm插件,想用了这么久的npm也没有自己制作一个插件出来练一练,所以动手把之前的图片随手势移动的react组件改写成了npm插件,之前的博客地址http://www.cnblogs.c ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(六)地图搜索模块
config.xml文件的配置如下: <widget label="地图搜索" icon="assets/images/emergency_resource_ove ...