echarts动态获取Django数据

本文介绍了如何使用Echarts这个JavaScript可视化库,配合Django后端,动态展示数据。从Django的models、urls、views设置到前端HTML和JavaScript的编写,详细阐述了实现过程。最后展示了页面效果,并建议开发者根据需求选择合适的图表类型,注意数据格式的处理。
摘要由CSDN通过智能技术生成

在开发过程中我们需要将我们的数据通过图标的形式展现出来,接下来我为大家介绍一个有趣的框架: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 
  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值