Python学习笔记-Flask接收post请求数据并存储数据库

1.引包

from flask import Flask, request, jsonify  
from flask_sqlalchemy import SQLAlchemy  

2.配置连接,替换为自己的MySQL 数据库的实际用户名、密码和数据库名
app = Flask(__name__)        #创建应用实列
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:pwd_Admin@localhost:3306/db1'
db = SQLAlchemy(app)        #初始化Flask-SQLAlchemy 扩展

* `mysql+pymysql`:指定了使用 `pymysql` 作为连接 MySQL 的驱动。 * `root`:数据库的用户名。 * `pwd_Admin`:数据库的密码。 * `localhost`:数据库服务器的地址,这里是本地机器。 * `3306`:数据库服务器的端口,MySQL 默认端口是 3306。 * `db1`:要连接的数据库名。

3.创建模型与数据库映射
class MotorControl(db.Model):id = db.Column(db.Integer, primary_key=True, autoincrement=True)start = db.Column(db.Float)stop = db.Column(db.Float)forward = db.Column(db.Float)backward = db.Column(db.Float)fault = db.Column(db.Float)ack = db.Column(db.Float)
4.创建数据库与模型对应 (默认将bool值True存储为1,False存储为0)

5.编写路由,获取post数据

首先创建了一个新的 MotorControl 实例(这是一个 SQLAlchemy 模型,代表数据库中的一个记录),并使用从 JSON 数据中提取的值初始化它。然后,将这个新记录添加到 SQLAlchemy 的会话中,并提交会话,将新记录保存到数据库中

6.运行代码
from flask import Flask, render_template, request, redirect, jsonify
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:pwd_Admin@localhost:3306/db1'
db = SQLAlchemy(app)class MotorControl(db.Model):id = db.Column(db.Integer, primary_key=True, autoincrement=True)start = db.Column(db.Float)stop = db.Column(db.Float)forward = db.Column(db.Float)backward = db.Column(db.Float)fault = db.Column(db.Float)ack = db.Column(db.Float)@app.route('/store', methods=['POST'])
def store_data():json_data = request.get_json()start = json_data.get('0.0')stop = json_data.get('0.1')forward = json_data.get('0.2')backward = json_data.get('0.3')fault = json_data.get('0.4')ack = json_data.get('0.5')print(start, stop, forward, backward)new_record = MotorControl(start=start, stop=stop, forward=forward, backward=backward, fault=fault, ack=ack)db.session.add(new_record)db.session.commit()return jsonify({'message': 'Data stored successfully'}), 201if __name__ == '__main__':app.run(host='0.0.0.0')
7.编写发送post请求的代码,对应url到/store
import requestsstart = True
stop = True
forward = True
backward = True
fault = False
ack = False
json_data = {'0.0': start,'0.1': stop,'0.2': forward,'0.3': backward,'0.4': fault,'0.5': ack
}r2 = requests.post('http://127.0.0.1:5000/store', json=json_data)
print(r2.text)
8.执行发送post请求的代码后,mysql存储对应的数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589066.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

麒麟Linux安装教程(超详细)

公司要进行信息国产化,要用国产操作系统。公司下载了麒麟Linux,先安装试一下。 和大多数的Linux发行版差不多,支持直接试用而不安装,肯定是要安装的,所有直接选择了第二项“安装银河麒麟操作系统”。 安装主界面logo …

上网行为管理系统推荐,上网行为审计软件推荐

上网行为管理是指帮助互联网用户控制和管理对互联网的使用。它涵盖了多个方面,包括网页访问过滤、上网隐私保护、网络应用控制、带宽流量管理、信息收发审计、用户行为分析等。 上网行为管理产品系列适用于需要实施内容审计与行为监控、行为管理的网络环境&#xf…

弱电工程有哪些系统?一站式解决方案

随着科技的不断进步,现代建筑不仅仅是砖石和水泥的堆砌,它们已经转化为拥有高度智能化的复杂结构。在这些建筑的核心,弱电工程扮演着至关重要的角色。今天,我们将深入探讨弱电工程的各个组成部分以提供的解决方案。 弱电工程涵盖…

OpenHarmony实战:轻量级系统之子系统移植概述

OpenHarmony系统功能按照“系统 > 子系统 > 部件”逐级展开,支持根据实际需求裁剪某些非必要的部件,本文以部分子系统、部件为例进行介绍。若想使用OpenHarmony系统的能力,需要对相应子系统进行适配。 OpenHarmony芯片适配常见子系统列…

基于ssm的三省学堂-学习辅助系统(java项目+文档+源码)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的三省学堂-学习辅助系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 三省学堂-学习辅助系统的…

【已解决】ZIP压缩文件如何设置密码?

ZIP是常用的压缩格式之一,对于重要的ZIP文件,我们还可设置密码保护,那ZIP压缩文件怎么设置密码呢?不清楚的小伙伴一起来看看吧! 给ZIP文件设置密码,我们需要用到支持ZIP格式的解压缩软件,比如7…

面试题 之 vue

1.vue里怎样实现双向数据绑定? Viewmodel 中的Domlisteners 工具会帮我们检测页面上Dom元素的变化,如果有变化,则更改Model中的数据,更新model中的数据时,数据事件绑定工具会帮我们更新页面中的Dom元素 2.Vue的响应式原…

RedHat9中KVM虚拟机的配置与管理

KVM虚拟技术介绍 Linux的KVM(Kernel-based Virtual Machine)虚拟技术是一种基于Linux内核的虚拟化解决方案。它允许在单个物理服务器上创建和运行多个隔离的虚拟机,每个虚拟机都有自己的操作系统和应用程序,就像运行在独立的物理…

游戏引擎架构01__引擎架构图

根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ​

SQL server中创建了表,却查不到

查询时遇到了一些问题: 在数据库中我们建立了一个表,名为stu2,但是在执行查询此表时却遇到了一些问题: 消息 208,级别 16,状态 1,第 1 行 对象名 stu2 无效。 原因可能有一下几点&#xff1…

深入理解npm常用命令

npm(Node Package Manager)是 Node.js 的包管理工具,用于管理 Node.js 应用程序的依赖包。除了安装、更新和卸载依赖包外,npm 还提供了许多其他功能,如初始化项目、运行脚本、查看依赖树等。本文将详细介绍一些常用的 …

【Unity每日一记】(Canvas的相机渲染模式) 如何将模型显示在UI之前

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…