一、前言
《用Python快速生成报表之一》 我们介绍了用html-table快速生成表格数据报表,今天我们再介绍一下用Python Flask 快速开发报表,使用的是最古老的套页面方式。
二、Flask快速生成报表
Python有N多Web框架,最强大最出名的是Django,而Flask是一个微型的Web框架,它有一个强健的基础核心,其它功能都通过扩展来实现。
1、创建虚拟环境
虚拟环境是Python解释器一个副本,在这个环境中安装私有包不会影响全局环境。
python3 -m venv venv
激活虚拟环境 source venv/bin/activate
安装 flask pip install Flask
安装 pymysql pip install pymsql
2、搭建基础的web框架
report.py
/templates/report.html
(略)
3、使用pymysql 查询数据,然后跳转到页面
注:创建连接然后使用游标查询数据,Pymysql使用可以参考《用Python订正数据》,Pyton也有很多ORM框架,比如SQLAlchemy,Flask有对应的扩展Flask-SQLAlchemy,简化了Flask应用中使用SQLAlchemy框架。
4、模板页面代码
/templates/report.html
注:使用Jinjia2模板引擎渲染页面,循环用{% for %}{% endfor %},变量取值{{}}.
5、报表页面
启动应用,打开报表页面如下http://127.0.0.1:5000/report
注:用这种方式临时给老板提供一个报表还是比较方便,不用投入前后端技术资源,不用等待发布日,直接在生产环境机器写几行代码就可以跑起来了。