您现在的位置是:网站首页> 编程资料编程资料
echarts动态获取Django数据的实现示例_python_
2023-05-26
340人已围观
简介 echarts动态获取Django数据的实现示例_python_
在开发过程中我们需要将我们的数据通过图标的形式展现出来,接下来我为大家介绍一个有趣的框架: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 url from app1 import views urlpatterns = [ url(r'^home/', views.home), # 展示数据 url(r'^test/', views.test), # api,提供json ]
3. views
import json from django.db.models import Count from django.http import JsonResponse from django.shortcuts import render from app1.models import EventInfo def 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 = { "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'] = n b['count'] = c cities.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,结合实际情况酌情使用饼状图、柱状体、折线图及其他,在使用的过程中注意官网中data的格式。
到此这篇关于echarts动态获取Django数据的实现示例的文章就介绍到这了,更多相关echarts动态获取Django数据内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- Python实现一键抠图的示例代码_python_
- Python利用Bokeh进行数据可视化的教程分享_python_
- Python pygame绘制游戏图像_python_
- Python+Scipy实现自定义任意的概率分布_python_
- Django数据映射(一对一,一对多,多对多)_python_
- python标准库学习之sys模块详解_python_
- Python实现打印彩色字符串的方法详解_python_
- Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE的详细步骤_python_
- python中内置库os与sys模块的详细介绍_python_
- 图文详解牛顿迭代算法原理及Python实现_python_
