从0开始搭建python后台服务-Flask版(二)

本文详细介绍了如何在PythonFlask框架中,通过SQLAlchemyORM与MySQL数据库配合,实现数据的增加功能,包括直接在withapp.app_context()中添加数据以及通过GET请求接收参数动态添加数据。
摘要由CSDN通过智能技术生成
本文实现了flask对于数据的增加操作。
一、搭建准备
初始库准备:
pip install Flask Flask-SQLAlchemy
pip install pymysql
pip install mysqlclient
python版本:3.10.6

博主使用的MYSQL 8.0

二、源代码展示

(一)使用函数 with app.app_context():直接添加:
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
import pymysql

pymysql.install_as_MySQLdb()

app = Flask(__name__)
# 请替换下面的连接字符串为实际的用户名、密码、主机和数据库名
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:root@localhost/operationdb'
db = SQLAlchemy(app)


class TableTest(db.Model):
    __tablename__ = 'table_test'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
    sex = db.Column(db.String(255))
    def as_dict(self):
        return {'id': self.id, 'name': self.name, 'sex': self.sex}

@app.route('/tabletest', methods=['GET'])
def get_tabletest():
    records = TableTest.query.all()
    return jsonify([record.as_dict() for record in records])

with app.app_context():
     # 添加数据
     new_data = TableTest(id=4, name='陈六', sex='男')
     db.session.add(new_data)
     db.session.commit()

if __name__ == '__main__':
    app.run(debug=True)
(二)使用GET形式增加数据

       添加add_entry函数:

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

pymysql.install_as_MySQLdb()

app = Flask(__name__)
# 请替换下面的连接字符串为实际的用户名、密码、主机和数据库名
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:root@localhost/operationdb'
db = SQLAlchemy(app)
    
class TableTest(db.Model):
    __tablename__ = 'table_test'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255))
    sex = db.Column(db.String(255))
    def as_dict(self):
        return {'id': self.id, 'name': self.name, 'sex': self.sex}

@app.route('/tabletest', methods=['GET'])
def get_tabletest():
    records = TableTest.query.all()
    return jsonify([record.as_dict() for record in records])


@app.route('/add', methods=['GET'])
def add_entry():
    # 从GET请求的查询参数中获取数据
    id = request.args.get('id')
    name = request.args.get('name')
    sex = request.args.get('sex')
    
    if id and name and sex:
        new_data = TableTest(id=id, name=name, sex=sex)
        
        # 增加异常处理
        try:
            db.session.add(new_data)
            db.session.commit()
            return "Data added successfully!", 200
        except Exception as e:
            db.session.rollback()
            return str(e), 500
    else:
        return "Missing parameters", 400

if __name__ == '__main__':
    app.run(debug=True)

三、使用效果

使用(一)方法,适合结合excel表等相关功能,进行批量数据上载。运行即可添加至数据库。
使用(二)方法:

传参链接:http://localhost:5000/add?id=5&name=李七&sex=女

访问函数后,触发新增数据函数,添加参数中值至数据库!适合于结合网站使用。

添加后再进行数据查询:

http://localhost:5000/tabletest

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 确认服务器环境 首先,需要确认服务器上安装了Python环境。可以在终端中输入python -V命令查看当前Python本,如果没有安装则需要安装Python。 2. 编写API代码 编写Python代码,通过Flask或Django等web框架搭建后台服务器,定义API接口并实现相应的功能,最终将结果以JSON格式输出。 例如,使用Flask框架编写一个简单的API: from flask import Flask, jsonify app = Flask(__name__) @app.route('/api', methods=['GET']) def api(): data = {'name': 'Tom', 'age': 18} return jsonify(data) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) 这个API的功能是返回一个字典,包含name和age两个键值对,以JSON格式输出。 3. 测试API 在本地环境下启动API,测试API是否能够正常输出JSON数据。 4. 部署API到服务器 将代码上传到服务器上,使用pip安装Flask或Django等web框架,并在服务器上启动API服务。 可以使用gunicorn等WSGI服务器来部署Flask或Django应用程序,例如: gunicorn app:app -w 4 -b 0.0.0.0:5000 其中,app:app表示启动的应用程序,-w 4表示启动4个worker进程,-b 0.0.0.0:5000表示绑定IP地址和端口号。 5. 测试API是否能够正常访问 在浏览器中输入服务器的IP地址和端口号,例如http://127.0.0.1:5000/api,测试API是否能够正常输出JSON数据。 6. 部署到生产环境 为了提高API的稳定性和安全性,可以将API部署到生产环境,例如使用Nginx反向代理或HTTPS协议等。同时,需要进行性能优化和安全加固等措施,以保证API的高可用性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值