Python flask + Mysql +Echarts :实现数据可视化(玫瑰图)

Python flask + Mysql +Echarts :实现数据可视化(玫瑰图)

码农世界 2024-05-22 后端 65 次浏览 0个评论

目录

步骤一:建立Myslq数据库连接

步骤二:开发Flask应用

步骤三:创建前端页面(house_bing.html )

步骤四:运行Flask应用并查看玫瑰图


步骤一:建立Myslq数据库连接

import pymysql
class Mysql(object):
    # 创建 Mysql 类的实例时自动调用
    def __init__(self):
        # 建立MySQL数据库连接
        self.conn = pymysql.connect(host='localhost', user='root', password='123456', database='houses', charset="utf8")
        # 创建了一个游标对象cursor,用于执行SQL命令
        self.cursor = self.conn.cursor()
    # 这个方法使得 Mysql 类的实例可以作为上下文管理器使用
    def __enter__(self):
        return self
    # 负责关闭游标和数据库连接
    def __exit__(self, exc_type, exc_val, exc_tb):
        self.cursor.close()
        self.conn.close()
    # 返回的结果是一个元组列表,每个元组代表house_sum表中的一行数据。
    def house(self):
        sql = "select * from house_sum"
        self.cursor.execute(sql)
        return self.cursor.fetchall()

步骤二:开发Flask应用

from flask import Flask, send_from_directory
from flask import render_template
from mysql import Mysql
app = Flask(__name__)
# 将 getdata 函数绑定到根URL路径('/')。这意味着当用户访问服务器的根地址时,将调用 getdata 函数。
@app.route('/')
# 这个函数是处理根URL路径的视图函数
def getdata():
    # 创建了一个 Mysql 类的实例,用于与MySQL数据库建立连接。
    db = Mysql()
    # 调用 db.house() 方法,执行SQL查询并获取结果。
    item = db.house()
    # 将查询结果转换为字典列表,其中每个字典包含 name 和 value 键,分别对应于数据库表中的列。
    data = [{'name': row[0], 'value': row[1]} for row in item]
    # 使用 render_template 函数渲染 house_bing.html 模板,并将转换后的数据作为参数传递给模板。
    return render_template('house_bing.html', data=data)
if __name__ == '__main__':
    app.run(debug=True)    #debug=True发生错误时会返回发生错误的地方

render_template():调用了”render_template()”方法来渲染模板。方法的第一个参数”echarts.html”指向你想渲染的模板名称,第二个参数”data”是你要传到模板去的变量,变量可以传多个。

步骤三:创建前端页面(house_bing.html )




    
    数据可视化
    
    


    

步骤四:运行Flask应用并查看玫瑰图

运行完,点击 http://127.0.0.1:5000/可以看到html所绘制的玫瑰图

Python flask + Mysql +Echarts :实现数据可视化(玫瑰图)

Python flask + Mysql +Echarts :实现数据可视化(玫瑰图)

转载请注明来自码农世界,本文标题:《Python flask + Mysql +Echarts :实现数据可视化(玫瑰图)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,65人围观)参与讨论

还没有评论,来说两句吧...

Top