思路:

统一返回数据类型为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>

最新文章

  1. SQL server存储过程语法及实例(转)
  2. linux下的device tree
  3. CSS实现样式布局
  4. EDIT Ini写Ini配置
  5. Flex中的折线图
  6. margin负值的相关应用
  7. python云算法
  8. switch case 遇到判断type分支的写法
  9. Codeforces 1045A Last chance 网络流,线段树,线段树优化建图
  10. plsql developer连接Oracle报错ORA-12154: TNS:could not resolve the connect identifier specified
  11. C. Smallest Word
  12. Miller_Rabbin算法判断大素数,Pollard_rho算法进行质因素分解
  13. Asp.Net MVC中Action跳转
  14. UI5-文档-2.3-使用SAPUI5工具为Eclipse开发应用程序
  15. HDU2874Connections between cities( LCA )Tarjan
  16. 静态代理,动态代理,Cglib代理详解
  17. MySQL双主复制
  18. hdu 4709:Herding(叉积求三角形面积+枚举)
  19. Java实现动态加载读取properties文件
  20. flask之flask-sqlalchemy(一)

热门文章

  1. Halcon中循环读取文件的实现以及数字与字符的转换
  2. Linux 下VI文件乱码解决
  3. DDD-EF-数据仓储
  4. jira 安装
  5. java核心知识点 --- 线程池ThreadPool
  6. chrome浏览器控制台创建js脚本并执行
  7. vuejs 2.0 键盘事件
  8. A* 算法求第k短路径
  9. linux系统中的进程
  10. 天云CloudStack 改进版