django+echarts
2024-10-19 14:46:59
思路:
统一返回数据类型为json,然后前端发起Ajax请求后台数据接口
views.py
def count_blog(request):
# 下面等价于:select distinct auth,count() as blog_count from cms_blogpost group by auth
# auth_count_blog=BlogPost.objects.values('auth').distinct().annotate(blog_count=Count('auth')).all()
# print '第1个作者的数量为:', auth_count_blog
# auth_count_blog=[{'blog_count': 1, 'auth': u'guchen'}, {'blog_count': 1, 'auth': u'\u6c6a\u5a07'},
# {'blog_count': 7, 'auth': u'\u8c37\u6668'}]
auth_count_blog={'blog_count': [10, 15, 20],
'auth': ["guchen", "wangjiao", "zhuzhu"]}
# 向js中传递数据必须json.dumps()处理
return render(request, 'count_blog.html', {'auth_count_blog': json.dumps(auth_count_blog)})
count_blog.html
<!--echarts图表-->
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main')); // 显示标题,图例和空的坐标轴
myChart.setOption({
title: {
text: '异步数据加载示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: []
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: []
}]
}); var auth_count_blog={}; //请求前先不要获取后端返回的数据,先定义空的字典
$.get('/count_blog/').done(function (auth_count_blog) {
<!--$.ajax({--> //用这种请求没有出来图
auth_count_blog = {{auth_count_blog|safe}}; // 获取后台传来的数据需要加上safe过滤 <!--url: '/count_blog/',-->
<!--type: 'POST',-->
<!--data: {},-->
<!--dataType: 'json',-->
<!--success:function(auth_count_blog){-->
myChart.setOption({
xAxis: {
data: auth_count_blog['auth'] //获取字典的作者
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: auth_count_blog.blog_count //获取对应的作者的博客数
}]
});
<!--}-->
});
</script>
{% endblock %}
</body>
</html>
最新文章
- SQL server存储过程语法及实例(转)
- linux下的device tree
- CSS实现样式布局
- EDIT Ini写Ini配置
- Flex中的折线图
- margin负值的相关应用
- python云算法
- switch case 遇到判断type分支的写法
- Codeforces 1045A Last chance 网络流,线段树,线段树优化建图
- plsql developer连接Oracle报错ORA-12154: TNS:could not resolve the connect identifier specified
- C. Smallest Word
- Miller_Rabbin算法判断大素数,Pollard_rho算法进行质因素分解
- Asp.Net MVC中Action跳转
- UI5-文档-2.3-使用SAPUI5工具为Eclipse开发应用程序
- HDU2874Connections between cities( LCA )Tarjan
- 静态代理,动态代理,Cglib代理详解
- MySQL双主复制
- hdu 4709:Herding(叉积求三角形面积+枚举)
- Java实现动态加载读取properties文件
- flask之flask-sqlalchemy(一)