文档章节

Python Django chartit 多报表显示

静夜听风
 静夜听风
发布于 2015/11/25 10:42
字数 253
阅读 1339
收藏 0

Django 安装chartit 插件后,默认一个页面只能显示一个报表,如果想显示多个报表,需要修改下chartit模块

路径:\site-packages\chartit\templatetags\chartit.py

分析网页代码,主要是js在控制,而且调用的js名字不会改变,找到如下几行

embed_script = (
  '<script type="text/javascript">\n'
  'var _chartit_hco_array = %s;\n</script>\n'
  '<script src="%s" type="text/javascript">\n</script>')
  
embed_script = (embed_script % (simplejson.dumps(chart_list,
                                                 use_decimal=True),
                                CHART_LOADER_URL))

修改如下, 让每个报表使用自己单独的js,并删除最后一条,修改地方如下

embed_script = (
  '<script type="text/javascript">\n'
  'var _chartit_hco_array_%s = %s;\n</script>\n')
embed_script = (embed_script % (render_to,simplejson.dumps(chart_list,
                                                 use_decimal=True)
                                ))

在模板里面调用chartit, 并指定render_to, 还需要添加新的js

<script src="/static/js/show.js" type="text/javascript"></script>
{% load chartit  %}
{{ uv|load_charts:"uvdata" }}
{{ pv|load_charts:"pvdata" }}
<div id='uvdata'> Chart will be rendered here </div>
<div id='pvdata'> Chart will be rendered here </div>

show.js 内容

$(document).ready(function() {
   $.each(_chartit_hco_array_uvdata, function(index, chartoptions) {
      chart = new Highcharts.Chart(chartoptions);
   });
   $.each(_chartit_hco_array_pvdata, function(index, chartoptions) {
      chart = new Highcharts.Chart(chartoptions);
   });
});

最终实现效果


© 著作权归作者所有

共有 人打赏支持
静夜听风
粉丝 12
博文 24
码字总数 13019
作品 0
系统管理员
使用Django构建Python Restful服务1、搭建一个Django Web环境

文章首发个人微信公众号及博客:http://zmister.com/archives/260.html 欢迎访问个人博客:http://zmister.com 查看更多Python应用文章 欢迎关注个人微信公众号:州的先生 及时交流讨论 1.0 ...

州的先生
05/16
0
0
Python和Django的安装

一、下载并安装Python Python 官方下载地址:http://www.python.org/ftp/python/ 我们这里选择的是 Python 2.7.2 。虽然目前最新版是Python 3.2.2, 但是Django目前还不支持 Python 3.2.2。 ...

markGao
2014/01/29
0
0
centos 6.4x64 django开发环境搭建(升级python2.6.6为2.7.3)

最近学习python语言,学到django的时候,准备搭建一个django开发环境,几经周折,最终配置成功,现把配置过程整理出来,供大家学习交流: 服务器环境: CentOS release 6.4 (Final) x64 1,下...

苦咖啡sa
2015/04/09
0
0
Django 卸载(Ubuntu下卸载Django)

如果你打算从过去的一个版本升级Django, 你需要先删除老版本的Django之后, 再安装新的版本. 如果你是通过执行命令 setup.py install 来安装 Django, 卸载的方法很简单, 只要在site-packages...

渊翼
2014/04/27
0
0
一个 Pythoner的 Awesome List

从大三接触 Python 到现在几乎已经有两年的接触经验了,除去中间有一年左右接私活写写 Android 和 Lamp 之外,有 Python 实际项目开发经验也算是 9 个多月,也稍微算得上是一个入门级别的 Py...

无与童比
2016/12/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一切都靠大数据:滴滴已封禁4.3万人员、车辆

这段时间以来,滴滴出行相继出炉了各种整改措施,包括自身安全建设和外部社会共建,昨日就刚刚宣布正在筹备建立安全监督顾问委员会。 据媒体最新报道,9月30日,上海市交通委员会执法总队、上...

linuxCool
40分钟前
4
0
awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
今天
4
0
Spring Cloud Eureka Server高可用之:在线扩容

本文共 1591字,阅读大约需要 6分钟 ! 概述 业务微服务化以后,我们要求服务高可用,于是我们可以部署多个相同的服务实例,并引入负载均衡机制。而微服务注册中心作为微服务化系统的重要单元...

CodeSheep
今天
2
0
内网esxi主机上安装CoreOS虚拟机

CoreOS是一个为专门运行容器而设计的轻量级linux发行版,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。它没有包管理工具,运行容器化应用以提供服务;默...

hiwill
今天
2
0
20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部