django传递数据库数据给echarts

方式一:

将数据转化为list来操作(因为别的也不会)
def jsdaoru(request):
    wheelsList = Wheel.objects.all()
    name = list(Wheel.objects.values_list('name', flat=True))
    data = list(Wheel.objects.values_list('trackid', flat=True))
    return render(request,'axf/js_daoru.html',{"wheelsList":wheelsList,"name":name,"data":data})

html 中script,引入图表的时候直接用{{}}就可以使用了,但是必须要加上safe否则会出现乱码

<script type="text/javascript">

    // 基于准备好的dom,初始化echarts实例
    console.log(name)
    var myChart = echarts.init(document.getElementById('main'));

    // 指定图表的配置项和数据
    var option = {
        title: {
            text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
            data:['销量']
        },
        xAxis: {
            data: {{ name|safe }}
        },
        yAxis: {},
        series: [{
            name: '销量',
            type: 'bar',
            data:{{ data|safe }}
        }]
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>

方法二:

 既然需要模板渲染数据给JS使用,最先想到的办法就是把数据渲染到HTML代码中并隐藏。这种方法的优点就在于简单,甚至模板中都可以完全不使用 <script></script> 标签。缺点则是会渲染出很多的隐藏字段,JS中要写大量的 getElementsByxxxx 一类的代码来获取数据。

方法三:

在HTML中使用 <script></script> 标签将后台传递的数据渲染成JS对象,然后JS代码中则可以直接使用这个对象了。比如模板中:下面引入的js 中可以直接调用这些变量

html中:

js中:

3.echarts  异步请求数据

https://www.cnblogs.com/yjq520/p/9024767.html  django异步请求逻辑

https://blog.youkuaiyun.com/yangsitong1314/article/details/76984616/   echarts 异步请求json

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值