echarts动态获取Django数据的实现示例
目录
- 一、后端
- 二、前端
- 三、页面效果
- 四、总结
一、后端 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,结合实际情况酌情使用饼状图、柱状体、折线图及其他,在使用的过程中注意官网中data的格式。
到此这篇关于echarts动态获取Django数据的实现示例的文章就介绍到这了,更多相关echarts动态获取Django数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 程序员|java如何获取随机数,这原因我服了
- 动态规划-初步理解
- Vue3|Vue3 使用v-md-editor如何动态上传图片了
- 如何设置电脑桌面壁纸(在哪能下载超高清视频动态壁纸?)
- 聊聊动态代理IP
- 莅临GOPS大会龙智展位,获取Forrester最新报告(《Forrester Wave?:2021年第四季度企业服务管理报告》)
- 如何使用动态活体检测API
- kubernetes|k8s中根据时间动态扩缩容
- javascript|JavaScript修炼之路-筑基篇(九)获取和修改元素属性值
- javascript|JavaScript修炼之路-筑基篇(六)Web APIs、Dom及元素获取