当前位置: 首页 > news >正文

《使用 Python Flask + MySQL + ECharts 构建销售数据看板》实战案例笔记

《使用 Python Flask + MySQL + ECharts 构建销售数据看板》实战案例笔记

技术栈说明

  • 后端:Python 3.10 + Flask 框架
  • 数据库:MySQL
  • 前端:ECharts 5.4 + HTML/CSS
  • 数据可视化:柱状图 / 折线图 / 饼图 / 雷达图

项目结构

project/
├── server.py          # 后端服务
└── templates/
    └── index.html     # 前端页面

1. 后端代码 (server.py)

from flask import Flask, jsonify, render_template
from flask_cors import CORS
import pymysql

app = Flask(__name__)
CORS(app)  # 添加跨域支持

# 数据库配置
db_config = {
   
    'host': 'localhost',
    'user': 'root',
    'password': 'root',
    'database': 'demo2',
    'port': 3306,
    'charset': 'utf8mb4'
}

def get_db_connection():
    try:
        conn = pymysql.connect(**db_config)
        return conn
    except pymysql.Error as e:
        print(f"数据库连接失败: {
     e}")
        return None

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/api/sales-data')
def get_sales_data():
    conn = get_db_connection()
    if not conn:
        return jsonify({
   'error': '数据库连接失败'}), 500

    try:
        with conn.cursor(pymysql.cursors.DictCursor) as cursor:
            query = """
            SELECT product, region, month, year, revenue
            FROM sales_data
            ORDER BY year, month
            """
   
http://www.dtcms.com/a/62831.html

相关文章:

  • osg安装编译第三方,完整详细过程。 libtiff/tif config.vc.hdoes not exist
  • GStreamer —— 2.17、Windows下Qt加载GStreamer库后运行 - “播放教程 5:色彩平衡“(附:完整源码)
  • 基于Debian12的SVN和Trac自动安装部署脚本
  • upload-labs-master通关攻略(17~19)
  • RSA算法:开启现代密码学的数学之钥
  • SpringMVC中有关请求参数的问题(映射路径,传递不同的参数)
  • 前端小食堂 | Day13 - Vue.js 进阶烹饪术
  • RISC-V特权模式与寄存器
  • 计网面试准备
  • Vue的生命周期
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_param
  • FreeRTOS(7)队列集
  • Redis 主从复制详解:实现高可用与数据备份
  • 【MySQL - 表的内外连接】
  • 【13】单片机编程核心技巧:乘法运算
  • 《Python全栈开发》第2课:HTML骨架搭建 - 从零编写个人简历页面
  • 数字IC后端设计实现教程 |Innovus ICC2 Routing Pin Access Setting设置方法
  • 第十五届蓝桥杯大学B组(握手问题、小球反弹、好数)
  • ChatGPT课件分享(37页PPT)
  • 【亲测有效】Mac系统升级或降级Node.js版本,Mac系统调整node.js版本
  • 【3D视觉学习笔记1】针孔相机模型与坐标系变换
  • 【Azure 架构师学习笔记】- Azure Databricks (17) --Delta Live Table和Delta Table
  • 面试之《webpack从输入到输出经历了什么》
  • 基础网络安全-K8S 配置Ingress-controller 通过HTTPS处理服务请求
  • GB8599-2023标准测试包/小规格测试包/标准生物测试包1.5kg/满负载织物7.5kg/不锈钢金属测试包/空腔负载试验的过程挑战装置(PCD)
  • Linux网络编程之——网络初认识
  • 启智畅想的集装箱号码识别技术,效率与技术的完美结合
  • [杂学笔记] TCP和UDP的区别,对http接口解释 , Cookie和Session的区别 ,http和https的区别 , 智能指针 ,断点续传
  • AF3 shaped_categorical函数解读
  • 大数据hadoop课程笔记