博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django+echarts+ajax异步+显示优化--基本例子
阅读量:6591 次
发布时间:2019-06-24

本文共 1966 字,大约阅读时间需要 6 分钟。

django+echarts+ajax异步+显示优化--基本例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<
div   
style
=
"height:300px;"
id
=
"echarts-line"
></
div
>
 
##定义要显示的地方
 
 
<
script 
src
=
"/static/js/echarts.min.js"
></
script
#加载js
 
<
script
>
    
$(function () {
        
var server_info;
 
        
var myChart = echarts.init(document.getElementById('echarts-line'));
        
var option = {
            
title: {
                
text: '机柜总数'
            
},
            
tooltip: {},
            
legend: {
                
data:['总数']
            
},
            
xAxis: {
                
data: {
{ name  | safe }}    ##第一次访问页面时,先从后端返回一个最新的数据,这样子就不会需要人们等着更新数据。
            
},
            
yAxis: {},
            
series: [{
                
name: '销量',
                
type: 'bar',
                
data: {
{ jq | safe }} ##第一次访问页面时,先从后端返回一个最新的数据
            
}]
        
};
        
myChart.setOption(option, true);
 
{#        myChart.showLoading();#}   ## echarts 的显示加载页面
        
setInterval( function () {     ##AJAX去获取数据通过showapi
 
                
$.ajax({
                    
type: 'GET',
                    
url: '/jigui/showapi',
                    
dataType: 'json',
                    
success: function (json) {
                        
server_info = eval(json);
                    
}
                
});
 
                    
option.xAxis.data =  server_info.name;   ##赋值
                    
option.series[0].data = server_info.jq;
{#                    myChart.hideLoading();#}   ## echarts 的隐藏加载页面
                    
myChart.setOption(option, true);
 
                
}, 2000);  ##每隔2秒 获取一次,重新生成值
 
         
window.onresize = function () {
            
myChart.resize();      ##根据页面大小重新定义图形大小
        
};
    
});
 
</
script
>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@login_required
(login_url
=
"/login.html"
)
def 
show(request):  
## 展示         第一次访问返回一个数据         
    
name_id 
= 
models.JiguiInfo.objects.
filter
(id__gt
=
0
)
    
name 
= 
[]
    
jq 
= 
[]
    
for 
in 
name_id:
        
name.append(i.name)
        
jq.append(i.jq)
     
    
ret 
= 
{
'name'
: name, 
'jq'
: jq}
     
    
return 
render(request, 
'jigui/show.html'
,{
'name'
:name,
'jq'
:jq})
 
 
@login_required
(login_url
=
"/login.html"
)
def 
showapi(request):  
## 展示    API返回数据
    
name_id 
= 
models.JiguiInfo.objects.
filter
(id__gt
=
0
)
    
name 
= 
[]
    
jq 
= 
[]
    
for 
in 
name_id:
        
name.append(i.name)
        
jq.append(i.jq)
     
    
ret
=
{
'name'
:name,
'jq'
:jq}
    
return  
HttpResponse(json.dumps(ret))
本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1954409,如需转载请自行联系原作者
你可能感兴趣的文章
Linux下运行java DES AES加解密
查看>>
DataNode 运行状况
查看>>
牛津词典 2018 年度词汇 ——「有毒」!
查看>>
XIB的是用
查看>>
Learning Data Structure_2_线性表、栈和队列
查看>>
驱动外置+原版安装方式『XLOS_Windows8_Pro_X86纯净版_V1.0』
查看>>
Android Arcface人脸识别sdk使用工具类
查看>>
android studio单个工程文件的代理设置
查看>>
Agent admitted failure to sign using the key
查看>>
grep 应用
查看>>
我的友情链接
查看>>
Linux实验室 CentOS关机大法
查看>>
一行命令获取当前JVM所有可设置的参数以及当前默认值
查看>>
spring与struts2 mvc共存web.xml简单配置
查看>>
Python web爬虫
查看>>
Python捕捉命令输出、错误输出及赋值命令到变量的方法
查看>>
js解析json
查看>>
详解性能调优命令
查看>>
Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器
查看>>
Red Hat EnterPrise Linux 5.4下web服务器的综合使用(普通站点、虚拟主机、安全性、...
查看>>