chartkick 能够画 javascript 报表, 并且比較美观。可是网上搜了下。非常难找到 python 版本号的,于是查了些资料,摸索了下。

对 Flask 也不非常熟悉,这里就仅仅抛砖引玉了,假设有对这方面比較熟悉,还希望能贴点资料的链接。

chartkick简单介绍


Chartkick是一个图表绘制工具,特点是UI美观、使用简单,而且支持IE6在内的大多数浏览器。

之所以说它使用简单,是由于仅仅须要一行Ruby代码就可以绘制出美丽的图表!



Flask简单介绍


Flask是一个轻量级的Web应用框架, 使用Python编写。基于 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授权。


代码结构





run.py


from flask import Flask, jsonify, render_template, request
import chartkick app = Flask(__name__, static_folder=chartkick.js())
app.jinja_env.add_extension("chartkick.ext.charts") @app.route('/')
@app.route('/index')
def index():
data = {'Chrome': 52.9, 'Opera': 1.6, 'Firefox': 27.7}
return render_template('index.html', data=data) if __name__ == "__main__":
app.run(debug=True)

index.html


index.html须要放在templates目录下

内容为

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="{{ url_for('static', filename='chartkick.js') }}"></script> {% bar_chart data with style="width:200px; height:20px;" %}
{% pie_chart data %}

效果


执行run.py,然后訪问所显示的地址



这里为 http://127.0.0.1:5000/

网页内容为




中文乱码解决方式


用 json 的 dumps 方法 将 dict 或者 list 转换成能够正常显示的中文字符串。

当中 

return render_template('index.html', data=data)

能够换成

return render_template('index.html', data=cCode.str(data))

cCode 是自己写的类,请參考《【python系列】dict、list的中文显示 》 http://blog.csdn.net/ksearch/article/details/35241019


參考资料


1. Create beautiful Javascript charts with minimal code https://github.com/mher/chartkick.py

3. flask高速上手  http://dormousehole.readthedocs.org/en/latest/quickstart.html

【python系列】python画报表(Chartkick、Flask)(附中文乱码解决方式)的更多相关文章

  1. 【Python】python3 正则爬取网页输出中文乱码解决

    爬取网页时候print输出的时候有中文输出乱码 例如: \\xe4\\xb8\\xad\\xe5\\x8d\\x8e\\xe4\\xb9\\xa6\\xe5\\xb1\\x80 #爬取https:// ...

  2. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...

  3. 【转】Python BeautifulSoup 中文乱码解决方法

    这篇文章主要介绍了Python BeautifulSoup中文乱码问题的2种解决方法,需要的朋友可以参考下 解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输 ...

  4. python爬虫中文乱码解决方法

    python爬虫中文乱码 前几天用python来爬取全国行政区划编码的时候,遇到了中文乱码的问题,折腾了一会儿,才解决.现特记录一下,方便以后查看. 我是用python的requests和bs4库来实 ...

  5. Python系列-python文件操作

    原链接:https://blog.csdn.net/m0_37745438/article/details/79573414 python提供了一系列方法来对文件进行读取.写入等操作 一.打开文件的方 ...

  6. Python系列-python函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...

  7. Python系列-python内置函数

    abs(x) 返回数字的绝对值,参数可以是整数.也可以是浮点数.如果是复数,则返回它的大小 all(iterable) 对参数中的所有元素进行迭代,如果所有的元素都是True,则返回True,函数等价 ...

  8. Python系列-python函数(functools)

    有一些函数内置到了functools这个模块里 partial(func, *args, **keywords) from functools import partial def add(x,y): ...

  9. Python和Ruby抓取网页时的中文乱码问题(在Eclipse和Apatana Studio下均是这种解决方法

    Python抓取中文网页乱码 :Eclipse+pydev2.2+python2.7  :Apatana Studio3+ pydev2.2+python2.7      run时设置 run--&g ...

随机推荐

  1. 大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)

                                                        大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5) 上一节中,我们讲 ...

  2. 异常如果一直被throws抛出的话就会被jvm异常处理器处理了

    异常如果一直被throws抛出的话就会被jvm异常处理器处理了,这时jvm会跳出正常运行状态. 异常如果一直被throws抛出的话就会被jvm异常处理器处理了,这时jvm会跳出正常运行状态. 异常如果 ...

  3. Nginx 服务并发过10万的Linux内核优化配置

    以下Linux 系统内核优化配置均经在线业务系统测试,服务器运行状态良好,用了一些时间整理,现和大家分享一下,如有那位高人看到配置上有问题,请给与指出! # Controls the use of T ...

  4. python virtualenv virtualenvwrapper

    python中的virtualenv模块能够将项目环境分隔开,而不是使用全局的环境,非常实用. 首先pip install virtualenv 如何创建一个环境virtualenv testvir ...

  5. Timeline简单配置

    Timeline是一个Jquery时间轴插件.效果如图 获取地址:https://github.com/ka215/jquery.timeline 配置 (1)html表头加入 <link re ...

  6. Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_2

    在编写获取路径方法前,我们先把角色须要的动画文件载入进来,角色的文件为png 和 plist格式. player1_anim.png.plist             player1_anim.pn ...

  7. 模拟select控件&&显示单击的坐标&&用户按下键盘,显示keyCode

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. C++ 利用文件流复制文件

    bool CopyFile(const std::string &src, const std::string &dest) { std::ifstream fin(src.c_str ...

  9. iptables firewall-cmd

    iptables -F iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A IN ...

  10. 原始Ajax

    var $ = {     request:function(obj){         //1. 获得xmlhttprequest对象兼容性处理         var xhr;    //unde ...