实现页面的数据存入数据库中

实现页面的数据存入数据库中:

<html>
<head>
    <title>User Information and Deposit</title>
</head>
<body>
    <h1>User Information and Deposit</h1>
    <form method="post" action="/">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name" required><br><br>

        <label for="phone">电话:</label>
        <input type="tel" id="phone" name="phone" required><br><br>
        <input type="submit" value="Submit">
    </form>
</body>
</html>
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@192.168.10.109:3306/lifa'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)


class sys_user_info(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(50), nullable=False)
    linkphone = db.Column(db.String(15), nullable=False)


@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        name = request.form.get('name')
        phone = request.form.get('phone')

        new_user = sys_user_info(username=name, linkphone=phone)
        db.session.add(new_user)
        db.session.commit()

        return "Information successfully added to database!"

    return render_template('index.html')

需要注意:
1.数据库中的id要SQL 来将字段 “id” 设置为自增且为主键
ALTER TABLE sys_user_info
MODIFY id INT AUTO_INCREMENT PRIMARY KEY;
2.中action="/"要和@app.route(‘/’, methods=[‘GET’, ‘POST’])中的/保持一致
3.在数据库中创建 sys_user_info表,在python中也要创建sys_user_info的实例
class sys_user_info(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), nullable=False)
linkphone = db.Column(db.String(15), nullable=False)
这段代码是用来定义一个数据模型(Model)的类sys_user_info,其作用是将数据库表和 Python 对象映射起来,方便在代码中操作数据库
通过定义这个sys_user_info`类,我们可以在代码中通过实例化这个类来创建新的用户,并将用户数据保存到数据库中。这个类提供了一种对象关系映射(ORM)的方式,让我们可以通过面向对象的方式操作数据库,而不需要直接编写 SQL 语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值