方式一:
将数据转化为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