声明:请事先到官网下载echarts,另外本文引用了adminlte模板构建前台页面
views:
<!-- /.row --> <div class="row"> <div class="col-xs-12"> <!-- interactive chart --> <div class="box box-primary"> <div class="box-header with-border"> <i class="fa fa-bar-chart-o"></i> <h3 class="box-title">网络趋势</h3> <div class="box-tools pull-right"> <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i> </button> <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button> </div> </div> <div class="box-body"> <div class="row"> <div class="col-md-9"> </div> <div class="col-md-3"> <form action="" method="post" id="net_range"> <div class="box-tools"> <div class="form-group" > <select onchange="submitForm_net();" class="form-control select2" style="width: 100%;" name="select_net"> <span class="glyphicon glyphicon-search form-control-feedback"></span> <option selected="selected">{{ net_range_default }}</option> <option>0.5小时</option> <option>1小时</option> <option>1天 </option> <option>7天 </option> <option>30天 </option> </select> </div> <!-- /.form-group --> </div> <!-- /.col --> </form> </div> <!-- /.row --> </div> <div class="net" id="net-grow-chart" style="height: 300px;"></div> </div> <!-- /.box-body--> </div> <!-- /.box --> </div> <!-- /.col --> </div> <!-- /.row -->
选择框 :
//表单提交 function submitForm_net(){ var form_net = document.getElementById("net_range"); form_net.submit(); } ECAHRTS: // #################### 【网络流量趋势】图形 #################### var myChart_net_grow = echarts.init(document.getElementById('net-grow-chart')); option_net_grow = { title: { text: '网络流量', subtext: '' }, tooltip: { trigger: 'axis', axisPointer: { type: 'cross' } }, legend: { data:['接收流量(kbps)','发送流量(kbps)'] }, toolbox: { show: true, feature: { saveAsImage: {} } }, xAxis: { type: 'category', boundaryGap: false, zlevel: 1, data: [{% for i in netgrow_list %}'{{ i.chk_time | date:"m-d H:i:s" }}',{% endfor %}] }, yAxis: { type: 'value', axisLabel: { formatter: '{value}' }, axisPointer: { snap: true }, max:100, min:0 }, series: [ { name:'接收流量(kbps)', type:'line', smooth: true, data: [{% for i in netgrow_list %}{{ i.recv_kbps }},{% endfor %}] }, { name:'发送流量(kbps)', type:'line', smooth: true, data: [{% for i in netgrow_list %}{{ i.send_kbps }},{% endfor %}] } ] }; myChart_net_grow.showLoading(); //显示loading setInterval(function () { myChart_net_grow.hideLoading(); //显示完成后不显示loading myChart_net_grow.setOption(option_net_grow, true); },500);
VIEWS:
@login_required(login_url='/login') def linux_monitor(request): messageinfo_list = models.TabAlarmInfo.objects.all() tagsdefault = request.GET.get('tagsdefault') if not tagsdefault: tagsdefault = models.TabLinuxServers.objects.order_by('tags')[0].tags cpu_range_defualt = request.GET.get('cpu_range_default') if not cpu_range_defualt: cpu_range_defualt = '1小时'.decode("utf-8") mem_range_default = request.GET.get('mem_range_default') if not mem_range_default: mem_range_default = '1小时'.decode("utf-8") net_range_default = request.GET.get('net_range_default') if not net_range_default: net_range_default = '1小时'.decode("utf-8") hostinfo = models.TabLinuxServers.objects.all().order_by('tags') net_begin_time = tools.range(net_range_default) cpu_begin_time = tools.range(cpu_range_defualt) mem_begin_time = tools.range(mem_range_default) end_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") netgrow = models.OsInfoHis.objects.filter(tags=tagsdefault, recv_kbps__isnull=False).filter( chk_time__gt=net_begin_time, chk_time__lt=end_time).order_by('-chk_time') netgrow_list = list(netgrow) netgrow_list.reverse() cpugrow = models.OsInfoHis.objects.filter(tags=tagsdefault, cpu_used__isnull=False).filter( chk_time__gt=cpu_begin_time, chk_time__lt=end_time).order_by('-chk_time') cpugrow_list = list(cpugrow) cpugrow_list.reverse() memgrow = models.OsInfoHis.objects.filter(tags=tagsdefault, mem_used__isnull=False).filter( chk_time__gt=mem_begin_time, chk_time__lt=end_time).order_by('-chk_time') memgrow_list = list(memgrow) memgrow_list.reverse() diskinfos = models.OsFilesystem.objects.filter(tags=tagsdefault) try: osinfo = models.OsInfo.objects.get(tags=tagsdefault) except models.OsInfo.DoesNotExist: osinfo = models.OsInfoHis.objects.filter(tags=tagsdefault,cpu_used__isnull=False).order_by('-chk_time')[0] if request.method == 'POST': if request.POST.has_key('select_tags') or request.POST.has_key('select_cpu')or request.POST.has_key('select_mem') or request.POST.has_key('select_net'): if request.POST.has_key('select_tags'): tagsdefault = request.POST.get('select_tags', None).encode("utf-8") elif request.POST.has_key('select_net'): net_range_defualt = request.POST.get('select_net',None) elif request.POST.has_key('select_cpu'): cpu_range_defualt = request.POST.get('select_cpu',None) elif request.POST.has_key('select_mem'): mem_range_default = request.POST.get('select_mem', None) return HttpResponseRedirect('/linux_monitor"text-align: center">以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“django+echart绘制曲线图的方法示例”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新动态
2024年11月26日
2024年11月26日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]