前言: 后面要开发测试管理平台,需要用到数据可视化,所以研究了一下

先看下最后的图吧,单击最上方的按钮可以控制柱状图显隐

views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import json
from django.shortcuts import render
import pymysqldef showcase(request):"""从数据库中读取作者的用例信息,并用于前台可视化展示:param request::return:"""db = pymysql.connect("localhost", "root", "guchen", "guchen_test", charset='utf8')cursor = db.cursor()sql = "select * from userCaseInfo"cursor.execute(sql)results = cursor.fetchall()print results# 向js中传递数据必须json.dumps()处理return render(request, "showcase.html", {'caseInfo': json.dumps(list(results))})

showcase.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>showcase</title>{#    引入jQuery#}<script src="http://code.jquery.com/jquery-latest.js"></script><!-- 引入本地的 echarts.js --><script src="../static/js/echarts.js"></script>
</head>
<body><div id="main" style="width: 1000px;height: 500px">{% block content %}<!--echarts图表--><script type="text/javascript">// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 显示标题,图例和空的坐标轴
myChart.setOption({legend: {},tooltip: {},dataset: {source: [[],[], //这里一定要把最内层的数据清除掉
            []]},xAxis: {type: 'category'},yAxis: {},// Declare several bar series, each will be mapped// to a column of dataset.source by default.
    series: [{type: 'bar'},{type: 'bar'},{type: 'bar'}]
});var caseInfo={}; //请求前先不要获取后端返回的数据,先定义空的字典(去掉也没事)// 注意这里的参数值,showcase表示视图函数,caseInfo是后台传过来的数据
    $.get('/showcase/').done(function (caseInfo) {caseInfo = {{ caseInfo|safe}}; // 获取后台传来的数据需要加上safe过滤
        uname = caseInfo[0][1]// 将source中不变的第一个列表元素初始化进来var source = [['product', '总数', '成功', '失败']];// 使用for循环将caseInfo中的数据循环遍历push进source列表中for(var i=0; i< caseInfo.length;i++){source.push([caseInfo[i][1], caseInfo[i][2], caseInfo[i][3], caseInfo[i][4]])myChart.setOption({dataset: {// 引用添加了数据的变量source
                    source: source}});}});</script>
{% endblock %}</div></body>
</html>

使用的Echarts模板是:

option = {legend: {},tooltip: {},dataset: {source: [['product', '总数', '成功', '失败'],['Matcha Latte', 43.3, 85.8, 93.7],['Milk Tea', 83.1, 73.4, 55.1],['Cheese Cocoa', 86.4, 65.2, 82.5],['Walnut Brownie', 72.4, 53.9, 39.1]]},xAxis: {type: 'category'},yAxis: {},// Declare several bar series, each will be mapped// to a column of dataset.source by default.
    series: [{type: 'bar'},{type: 'bar'},{type: 'bar'}]
};

转载于:https://www.cnblogs.com/gcgc/p/10087405.html

Django工程中使用echarts怎么循环遍历显示数据相关推荐

  1. java 遍历对象_java中some(),every()循环遍历,Object.getOwnPropertyNames()遍历对象的属性...

    由于java知识的应用具有一定的广泛性,所以它经常会应用到我们的日常使用当中.那么今天就为大家介绍一下java中some(),every()循环遍历,Object.getOwnPropertyName ...

  2. python list遍历删除_Python中list循环遍历删除数据的正确方法

    前言 初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) f ...

  3. Java中六种List集合循环遍历取值

    今天在做项目的时候,需要比较前一条与后一条数据的时间差.用list获取到数据,需要循环遍历取数据.接下来看代码: //int i = trans.size() - 1; i >= 0; i-- ...

  4. vue 工程中加入 echarts 图表不显示的问题

    vue 工程中加入 echarts 图表不显示的问题 一.问题原因 vue 引用 echarts 方式错误,高版本采用了低版本的引用方式 二.vue工程使用echarts vue官方教程 1. 安装 ...

  5. 循环遍历表格数据(可编辑可跨行)

    循环遍历表格数据(可编辑可跨行) 实现一个可编辑功能的表格,具体功能如下: 正常情况下房间号位置只显示房间号,当鼠标移上显示编辑及删除图标,点击编辑显示可编辑输入框,点击输入框里的确认(√),房间号修 ...

  6. html js 循环取json数据,JS循环遍历JSON数据的方法

    JS循环遍历JSON数据 本文提供了 JS 循环 JSON 数据列,以及 JS 循环遍历 JSON 数据的例子,供大家学习参考. 1. json数据的列循环 var len = json.length ...

  7. javascript中的12种循环遍历方法1

    1:for循环 let arr = [1,2,3]; for(let i =0;i<arr.length;i++){ console.log(i,arr[i]) } //for循环是js中最常用 ...

  8. 在JS中利用for...in循环遍历对象

    for...in循环可以在js中遍历对象或者数组,比如当我们想要输出内容中的所有对象,就可以使用for...in循环 <script> //使用方法 for(键 in 对象)var obj ...

  9. JS中的12种循环遍历的方法

    1.for循环 JS常见的循环,常用于循环数组.字符串之类 let arr = [1, 2, 3]; for (let i = 0; i < arr.length; i++) {console. ...

最新文章

  1. 易语言组合框连接mysql_用mysql填充的多动态组合框
  2. 感知和行动的贝叶斯模型
  3. SQLite AND/OR 运算符(http://www.w3cschool.cc/sqlite/sqlite-and-or-clauses.html)
  4. linux执行windows创建的脚本,如何在Windows 10上创建和运行Bash Shell脚本 | MOS86
  5. c++中cend end_vector :: cend()函数以及C ++ STL中的示例
  6. MySQL笔记-group by和聚合函数的使用
  7. 并发编程(二)线程并发工具类
  8. 大数据之-Hadoop之HDFS的API操作_文件上传---大数据之hadoop工作笔记0056
  9. web service 学习 2 -- 什么时候应该使用web service
  10. python入门视频教程-Python入门视频全套教程
  11. python删除字符串中的字母_从Python中的字符串中删除除字母数字字符之外的所有内容...
  12. printf标识总结
  13. Atitit sumdoc ta index list atiitt 2008 diary 大事记v2 s222.docx Atiti. 2010---2016大事记 just world new
  14. 说说大型高并发高负载网站的系统架构
  15. wangEditor 富文本框
  16. 二元二次不定方程(佩尔方程)
  17. 题源报刊第三季--Lesson 3--Gender equality at work is a matter of respect,not just money
  18. Zxing 预览框不变增加扫描区域,仿微信扫到一半就可以成功
  19. psp模拟器linux,PSP模拟器PPSSPP 1.7 发布,兼容性和错误修正
  20. 请问我这段多线程代码为什么会死机?

热门文章

  1. 首款MeeGo系统上网本 华硕Eee PC X101H独家首测(1)
  2. 计算机断电后自动启动,我的计算机最近一启动就不断自动上电和断电
  3. SAP APO 模块技术指南
  4. 华为交换机特殊场景使用mux vlan
  5. 应急响应实战之木马实战
  6. 线程和进程/阻塞和挂起
  7. nginx File not found 错误(Nginx无法解析PHP文件)
  8. 一句话概括各种设计模式
  9. linux打开xmanager服务,用xmanager连接linux远程桌面-linux服务器设置及xmanager设置
  10. php计件工资,宇阳计件工资管理系统