python开发低代码数据可视化大屏:flask_sqlalchemy读取mysql数据

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: python开发低代码数据可视化大屏:flask_sqlalchemy读取mysql数据

初始配置

import json
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 配置数据库信息
db_config = {
    'host': 'localhost',
    'port': '3306',
    'database': 'bdpoi',
    'username': 'bdpoi',
    'password': 'rKADFaJxAG2b7Lfd'
}
app.config['SECRET_KEY'] = 'hard to guess'
# url的格式为,数据库的协议://用户名:密码@ip地址:端口号(默认可以不写)/数据库名
app.config["SQLALCHEMY_DATABASE_URI"] = 'mysql://{username}:{password}@{host}:{port}/{database}'.format(**db_config)
# 动态追踪数据库的修改
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
# 创建数据库的操作对象
db = SQLAlchemy(app)


声明模型类

# 声明模型类
class User(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50), nullable=False)
class Poi(db.Model):
    __tablename__ = "po_poi"
    poi_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    poi_name = db.Column(db.String(255), nullable=False)
    poi_category_id = db.Column(db.Integer, nullable=False)


数据API接口1

@app.route("/")
def index():
    # 查询数据库
    results = User.query.all()
    # 定义字典和序列
    rows = []
    data = {}
    for rs in results:
        row = {"id": rs.id, "name": rs.name}
        rows.append(row)
    data['code'] = 0
    data['msg'] = 'OK'
    data['data'] = rows
    # 输出标准的JSON字符串
    json_str = json.dumps(data, ensure_ascii=False)
    return json_str


数据API接口2

# 获取数据库记录API接口
@app.route("/poi")
@app.route("/poi/")
@app.route("/poi/<pid>")
def get_poi(pid=None):
    if pid is None:
        results = Poi.query.all()
    else:
        results = Poi.query.filter_by(poi_id=pid).all()
    # 定义字典和序列
    rows = []
    data = {}
    for rs in results:
        row = {"poi_id": rs.poi_id, "poi_name": rs.poi_name, "poi_category_id": rs.poi_category_id}
        rows.append(row)
    data['code'] = 0
    data['msg'] = 'OK'
    data['data'] = rows
    # 输出标准的JSON字符串
    json_str = json.dumps(data, ensure_ascii=False)
    return json_str




执行服务

if __name__ == '__main__':
    app.run(debug=True)
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
算法 数据挖掘 Python
Python中的拟合技术:揭示数据背后的模式
Python中的拟合技术:揭示数据背后的模式
20 0
Python中的拟合技术:揭示数据背后的模式
|
8天前
|
数据挖掘 索引 Python
Python数据挖掘编程基础3
字典在数学上是一个映射,类似列表但使用自定义键而非数字索引,键在整个字典中必须唯一。可以通过直接赋值、`dict`函数或`dict.fromkeys`创建字典,并通过键访问元素。集合是一种不重复且无序的数据结构,可通过花括号或`set`函数创建,支持并集、交集、差集和对称差集等运算。
15 9
|
5天前
|
数据采集 数据挖掘 数据处理
Python中实现简单爬虫并处理数据
【9月更文挑战第31天】本文将引导读者理解如何通过Python创建一个简单的网络爬虫,并展示如何处理爬取的数据。我们将讨论爬虫的基本原理、使用requests和BeautifulSoup库进行网页抓取的方法,以及如何使用pandas对数据进行清洗和分析。文章旨在为初学者提供一个易于理解的实践指南,帮助他们快速掌握网络数据抓取的基本技能。
16 3
|
8天前
|
Python
Python量化炒股的数据信息获取—获取沪深股市每日成交概况信息
Python量化炒股的数据信息获取—获取沪深股市每日成交概况信息
21 5
|
7天前
|
存储 索引 Python
python中的数据容器
python中的数据容器
|
8天前
|
Python
Python量化炒股的数据信息获取—获取上市公司分红送股数据信息
Python量化炒股的数据信息获取—获取上市公司分红送股数据信息
20 3
|
9天前
|
数据采集 Python
天天基金数据的Python爬虫
天天基金数据的Python爬虫
26 3
|
8天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护
20 1
|
9天前
|
Linux Android开发 iOS开发
开源的Python库,用于开发多点触控应用程序
Kivy是一款开源Python库,专为开发多点触控应用设计,支持Android、iOS、Linux、OS X和Windows等平台。本文将指导你使用Kivy创建“Hello World”应用并打包成Android APK。首先通过`pip install kivy`安装Kivy,然后创建并运行一个简单的Python脚本。接着,安装Buildozer并通过`buildozer init`生成配置文件,修改相关设置后,运行`buildozer -v android debug`命令打包应用。完成构建后,你将在`./bin/`目录下找到类似`your-app-debug.apk`的文件。
14 2
|
9天前
|
数据采集 JSON 数据格式
Python:南京地铁每日客流数据的爬虫实现
Python:南京地铁每日客流数据的爬虫实现
21 1
下一篇
无影云桌面