《使用 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 pymysqlapp = 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 connexcept 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': '数据库连接失败'}), 500try:with conn.cursor(pymysql.cursors.DictCursor) as cursor:query = """SELECT product, region, month, year, revenueFROM sales_dataORDER BY year, month"""