echarts动态获取Django数据的实现示例

目录

  • 一、后端
  • 二、前端
  • 三、页面效果
  • 四、总结
在开发过程中我们需要将我们的数据通过图标的形式展现出来,接下来我为大家介绍一个有趣的框架:Echarts。这是一个使用JavaScript实现的开源可视化库,提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭(官网照抄,有兴趣的小伙伴可以去官网发现更多echarts的运用)。下面直接上代码:

一、后端 1. models模块
from django.db import models# 一个简单的统计地区class EventInfo(models.Model):event_location = models.CharField(max_length=30) class Meta:db_table = 'app_event_info'

2. urls
from django.conf.urls import urlfrom app1 import viewsurlpatterns = [url(r'^home/', views.home), # 展示数据url(r'^test/', views.test), # api,提供json]

【echarts动态获取Django数据的实现示例】3. views
import jsonfrom django.db.models import Countfrom django.http import JsonResponsefrom django.shortcuts import renderfrom app1.models import EventInfodef home(request):return render(request, 'echarts_pie.html') # 数据展示def test(request):info = EventInfo.objects.values_list('event_location').annotate(Count('id'))# 这里使用了Model.object.values_list().annotate()的方法,计数'event_location',生成id_count,以list的形式展示出来,大家可以去网上研究一下annotate函数# >>> print info # [('上海', 6), ('北京', 5), ('天津', 4), ('太原', 4), ('南京', 3), ('苏州', 4)]jsondata = https://www.it610.com/article/{"name": [i[0] for i in info],"count": [i[1] for i in info]}cities = []for n, c in zip(jsondata['name'], jsondata['count']):b = {}b['name'] = nb['count'] = ccities.append(b)test_dic = {}test_dic['data'] = cities# 将数据转换成json格式,方便ajax调用return JsonResponse(test_dic, safe=False)


二、前端 1. HTML
// 倒包,这是直接调用网上的包,不需要额外在静态文件中下载// 创建一个div,id为main,方便JavaScript使用

2. JavaScript


三、页面效果 echarts动态获取Django数据的实现示例
文章图片


四、总结 大家在开发过程中如果需要将数据展示出来可以尝试着使用echarts,结合实际情况酌情使用饼状图、柱状体、折线图及其他,在使用的过程中注意官网中data的格式。
到此这篇关于echarts动态获取Django数据的实现示例的文章就介绍到这了,更多相关echarts动态获取Django数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读