4.Python-用Python,Ajax实现MySQL数据库的新增数据

news/2024/7/10 22:37:34 标签: python, ajax, jquery, mysql, flask, html, javascript
htmledit_views">

题记 

        用html" title=python>python,html" title=ajax>ajax实现html" title=mysql>mysql数据库的新增数据。以下是一个简单的实例和操作过程。

安装html" title=flask>flask模块 

        pip install html" title=flask>flask 

安装html" title=mysql>mysql.connector模块

         pip install html" title=mysql>mysql-connector-html" title=python>python 

编写app.py文件 

        app.py文件如下: 

  块引用可能显示不完整,下面附加了全部代码

from html" title=flask>flask import Flask, request, render_template
import html" title=mysql>mysql.connector

app = Flask(__name__)

# 连接到MySQL数据库
db = html" title=mysql>mysql.connector.connect(
    host="localhost",
    user="root",
    password="123456",
    database="test"
)

# 创建游标对象
cursor = db.cursor()

# 创建表格(如果不存在)
cursor.execute("CREATE TABLE IF NOT EXISTS students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")

@app.route('/')
def index():
    return render_template('index111.html')

@app.route('/add', methods=['POST'])
def add():
    name = request.form['name']
    age = request.form['age']

    # 向数据库插入数据
    sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
    values = (name, age)
    cursor.execute(sql, values)
    db.commit()

    return "数据已成功添加到数据库!"

if __name__ == '__main__':
    app.run()
html" title=python>python">from html" title=flask>flask import Flask, request, render_template
import html" title=mysql>mysql.connector

app = Flask(__name__)

# 连接到MySQL数据库
db = html" title=mysql>mysql.connector.connect(
    host="localhost",
    user="root",
    password="123456",
    database="test"
)

# 创建游标对象
cursor = db.cursor()

# 创建表格(如果不存在)
cursor.execute("CREATE TABLE IF NOT EXISTS students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/add', methods=['POST'])
def add():
    name = request.form['name']
    age = request.form['age']

    # 向数据库插入数据
    sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
    values = (name, age)
    cursor.execute(sql, values)
    db.commit()

    return "数据已成功添加到数据库!"

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

编写index.html文件 

        注意:index.html需要放在templates文件夹下,否则服务器会找不到文件 

        index.html文件如下: 

 

<!DOCTYPE html>
<html>
<head>
    <title>Add Student</title>
<!--引用html" title=jquery>jquery-->
<script src="https://code.html" title=jquery>jquery.com/html" title=jquery>jquery-3.6.0.min.js"></script>
</head>
<body>
    <!--创建表单id-->
    <form id="updateForm">
    <label for="name">姓名:</label>
    <input type="text" id="name" name="name"><br><br>
    <label for="age">年龄:</label>
    <input type="text" id="age" name="age"><br><br>
    <input type="submit" value="Add">
    </form>

<script>
    // 使用jQuery库来处理表单的提交行为,并使用Ajax方式将表单数据发送到服务器进行处理
    // $ 是一个函数名(或别名)
    // 它相当于原生js中的 document.querySelector 或 document.querySelectorAll 选择器方法。
    // $(document).ready()方法,它会在文档加载完成后执行其中的代码
    $(document).ready(function() {
        // $("#updateForm").submit(function(event) { ... });
        // 这是通过选择器选中id为"updateForm"的表单元素,并使用.submit()方法来监听表单的提交事件。
        // 当表单提交时,会执行其中的回调函数。
        $("#updateForm").submit(function(event) {
            event.preventDefault(); // 阻止表单默认提交行为,从而避免页面刷新。
            //通过选择器选中id为"name"和"age"的输入框元素,并使用.val()方法获取输入框的值。
            var name = $("#name").val();
            var age = $("#age").val();
            //$.html" title=ajax>ajax({ ... });
            // 使用jQuery的.html" title=ajax>ajax()方法来发送Ajax请求。在其中设置了请求的URL、HTTP方法和数据
            $.html" title=ajax>ajax({
                url: "/add",
                method: "POST",
                data: { name: name, age: age },
                // success: function(response) { ... }
                // 这是在Ajax请求成功后的回调函数
                success: function(response) {
                    // 在这里处理Ajax响应
                    console.log(response);
                }
            });
        });
    });
</script>
</body>
</html>
html"><!DOCTYPE html>
<html>
<head>
    <title>Add Student</title>
<!--引用html" title=jquery>jquery-->
<script src="https://code.html" title=jquery>jquery.com/html" title=jquery>jquery-3.6.0.min.js"></script>
</head>
<body>
    <!--创建表单id-->
    <form id="updateForm">
    <label for="name">姓名:</label>
    <input type="text" id="name" name="name"><br><br>
    <label for="age">年龄:</label>
    <input type="text" id="age" name="age"><br><br>
    <input type="submit" value="Add">
    </form>

<script>
    // 使用jQuery库来处理表单的提交行为,并使用Ajax方式将表单数据发送到服务器进行处理
    // $ 是一个函数名(或别名)
    // 它相当于原生js中的 document.querySelector 或 document.querySelectorAll 选择器方法。
    // $(document).ready()方法,它会在文档加载完成后执行其中的代码
    $(document).ready(function() {
        // $("#updateForm").submit(function(event) { ... });
        // 这是通过选择器选中id为"updateForm"的表单元素,并使用.submit()方法来监听表单的提交事件。
        // 当表单提交时,会执行其中的回调函数。
        $("#updateForm").submit(function(event) {
            event.preventDefault(); // 阻止表单默认提交行为,从而避免页面刷新。
            //通过选择器选中id为"name"和"age"的输入框元素,并使用.val()方法获取输入框的值。
            var name = $("#name").val();
            var age = $("#age").val();
            //$.html" title=ajax>ajax({ ... });
            // 使用jQuery的.html" title=ajax>ajax()方法来发送Ajax请求。在其中设置了请求的URL、HTTP方法和数据
            $.html" title=ajax>ajax({
                url: "/add",
                method: "POST",
                data: { name: name, age: age },
                // success: function(response) { ... }
                // 这是在Ajax请求成功后的回调函数
                success: function(response) {
                    // 在这里处理Ajax响应
                    console.log(response);
                }
            });
        });
    });
</script>
</body>
</html>

 执行程序

        启动命令:

        html" title=python>python app.py 

        访问地址:

        localhost:5000 

展示图 

后记 

         觉得有用可以收藏或点赞!


http://www.niftyadmin.cn/n/5088546.html

相关文章

2023年全球及中国运动休闲服饰发展趋势分析:互联网经营将成为行业趋势[图]

2022年&#xff0c;全球运动/休闲服装市场规模增长到2090亿美元&#xff0c;受疫情影响市场规模在2020年下降到了1899.0亿美元。全球消费升级以及消费者对于多功能服饰需求的不断上升&#xff0c;将持续推动全球运动/休闲服装市场的发展。预计2023-2027年的年均复合增长率将达到…

PTE考试解析

Pte 考试题目 注入漏洞 空格被过滤 用/**/代替空格&#xff0c;发现#被过滤 对&#xff03;进行url编码为%23 输入构造好的payload http://172.16.12.100:81/vulnerabilities/fu1.php?id1%27)/**/and/**/11%23 http://172.16.12.100:81/vulnerabilities/fu1.php?id1%27)/*…

网络工程师知识点2

21、VLAN 有什么作用&#xff1f; ①广播控制&#xff1b;②安全性&#xff1b;③增加带宽利用率&#xff1b;④减少延迟。 22、实际的项目中如何划分vlan的&#xff1f; 采用静态VLAN的划分方式&#xff0c;可以按照楼层划分&#xff0c;可以按安装科室划分 23、vlan 的链路…

centos离线安装telnet、traceroute工具

安装包下载地址 安装包下载地址在这里 直接输入包名&#xff0c;筛选系统&#xff0c;根据自己系统版本确定该下哪个包 centos离线安装telnet 准备三个安装包 xinetd-2.3.15-14.el7.x86_64.rpmtelnet-server-0.17-65.el7_8.x86_64.rpmtelnet-0.17-65.el7_8.x86_64.rpm 三个…

[QCM6125][Android13] 大屏显示时任务栏以及虚拟按键靠右问题

文章目录 开发平台基本信息问题描述解决方法 开发平台基本信息 芯片: QCM6125 版本: Android 13 kernel: msm-4.14 问题描述 调试的时候&#xff0c;将dpi修改为160之后&#xff0c;发现虚拟导航栏会缩在右下角&#xff0c;以及进入应用时底部会显示Launcher3的hotseat栏目&…

计算机网络 实验六 Wireshark 抓包实验

实验目的&#xff1a; 通过实验掌握下列知识&#xff1a; 1. 掌握Wireshark抓包工具的使用。 2. 掌握建立telnet用户密码登录方式&#xff0c;并通过wireshark抓取相关信息。 3. 理解TCP的包结构&#xff0c;并掌握TCP建立连接的过程。 4. 掌握使用tftp工具&#xff0c;上…

Linux系统编程01

C语言程序编译过程 多个源文件生成一个可执行文件的过程 预处理阶段主要是将带 # 号的类似于 #include #define #ifdef等进行处理替换 gcc -S 下面讲解C语言源代码编译成汇编语言之后&#xff0c;之间的对应情况 源代码 使用gcc -S test15.c -o test15.s指令让源代码进行编译…

计算小于或等于n的非负整数区间包含的1的数量

在许多编程面试中&#xff0c;我们可能会碰到各种不同的问题&#xff0c;要求我们分析给定的数据或条件&#xff0c;以得出特定的结果。其中一个常见的问题是&#xff0c;给定一个整数n&#xff0c;要求计算出小于或等于n的非负整数区间包含的1的数量。这个问题可以通过直接编程…