python flask echarts连接mysql数据库
时间: 2023-09-12 19:12:32 浏览: 122
以下是一个简单的Python Flask和ECharts连接MySQL数据库的示例:
1. 首先,安装必要的库:
```
pip install flask
pip install pymysql
pip install echarts
```
2. 然后,创建一个名为“app.py”的Flask应用程序,并导入必要的库:
```python
from flask import Flask, render_template, request
import pymysql
import json
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
```
3. 连接MySQL数据库,并编写查询语句:
```python
# 连接MySQL数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='password', db='database', charset='utf8')
# 编写查询语句
sql = "SELECT * FROM table"
cursor = conn.cursor()
cursor.execute(sql)
result = cursor.fetchall()
cursor.close()
conn.close()
# 处理查询结果
data = []
for row in result:
data.append({'name': row[0], 'value': row[1]})
```
4. 创建ECharts图表,并在Flask应用程序中呈现:
```python
# 创建柱状图
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis([x['name'] for x in data])
.add_yaxis("数据", [y['value'] for y in data])
.set_global_opts(title_opts=opts.TitleOpts(title="数据可视化"))
)
# 在Flask应用程序中呈现
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/data")
def get_data():
return json.dumps(data)
@app.route("/chart")
def get_chart():
return bar.dump_options_with_quotes()
if __name__ == "__main__":
app.run()
```
5. 最后,创建一个名为“index.html”的HTML文件,并使用ECharts呈现图表:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据可视化</title>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0-rc.1/echarts.min.js"></script>
</head>
<body>
<div id="chart" style="width: 800px; height: 600px;"></div>
<script>
var chart = echarts.init(document.getElementById('chart'));
var data = JSON.parse('{{ get_data() }}');
option = {{ get_chart() }};
chart.setOption(option);
</script>
</body>
</html>
```
这就是一个基本的Python Flask和ECharts连接MySQL数据库的示例。您可以根据实际情况进行修改和扩展。
阅读全文