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

《使用 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.kler.cn/a/581272.html

相关文章:

  • CAN总线协议攻防实战:从漏洞分析到攻击模拟
  • windows一个进程的内存被其他进程踩坏原因
  • Spring Boot 接口延迟响应的实现与应用场景
  • 悖论的背后:从蚂蚁到宇宙的故事-续集
  • 14.onlineoj项目总结(C++)
  • 博客系统测试报告
  • Chrome 浏览器性能优化全景解析
  • simpleGRPO实现分享)
  • vue2中,在table单元格上右键,对行、列的增删操作(模拟wps里的表格交互)
  • 简要分析NETLINK_KOBJECT_UEVENT参数
  • 【eNSP实战】配置交换机端口安全
  • Linux服务器使用docker离线安装MySQL
  • frameworks 之屏幕旋转
  • 蓝桥杯备考:排队顺序(链表)
  • 中级网络工程师面试题参考示例(3)
  • 17、UDP怎么实现可靠传输【中高频】
  • spring-boot-starter和spring-boot-starter-web的关联
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-7.2.1Kubernetes Operator部署StatefulSet
  • KNN算法原理及python代码实现
  • 量子之歌2025财年Q2财报:净利润1.3亿元,多元化探索高成长赛道