运行app
from flask import Flask,render_template,request
from mysqlunit import MySql
import pandas as pd
app=Flask(__name__)
global rows
@app.route("/")
def index():
global rows
db=MySql(db="test")
sql="select * from books"
rows=db.query(sql)
print(rows)
return render_template("index.html",rows=rows)
@app.route("/showAnalyse")
def analyseInfo():
global rows
df=pd.DataFrame(rows)
print(df)
df1=df.groupby("Press").count()["BookId"].sort_values(ascending=False).head()
print(df1)
return render_template("analyseInfo.html",x=list(df1.index),y=list(df1))
if __name__=='__main__':
app.run(debug=True)
mysqlunit.py
import pymysql
class MySql():
# 类的构造方法,实例化对象时,获得连接及游标
def __init__(self,db="test"):
self.conn=pymysql.connect(host='127.0.0.1',db=db,user="root",passwd="123456")
self.cursor=self.conn.cursor(pymysql.cursors.DictCursor)
# 通用查询方法,传递sql及sql中数据
def query(self,sql,args=None):
self.cursor.execute(sql,args=args)
return self.cursor.fetchall()
# 通用增删改方法,传递sql及sql中数据
def update(self,sql,args=None):
num=self.cursor.execute(sql,args=args)
self.conn.commit()
if num:
return True
else:
return False
# 关闭资源
def close(self):
self.conn.close()
analyseInfo.html
{% extends "base.html" %}
{% block content %}
{% endblock %}
base.html
Title
{% block styles %}
{# 放置子页面css代码 #}
{% endblock %}
当当网书籍信息后台统计
前5名出版数量
|
查看书籍信息
{% block content %}
{# 放置子页面内容 #}
{% endblock %}
{% block scripts %}
{# 放置子页面js代码 #}
{% endblock %}
index.html
{% extends "base.html" %}
{% block content %}
| 编号 | 书名 | 价格 | 作者 | 出版社 | 出版日期 | 评论数 |
| {{ row["bookId"] }} | {{ row["Title"] }} | {{ row["Price"] }} | {{ row["Author"] }} | {{ row["Press"] }} | {{ row["PubTime"] }} | {{ row["Comments"] }} |



