关注

Python flask demo

     app.py

from flask import Flask, request, jsonify, render_template
from flask_mysqldb import MySQL

# 初始化 Flask 应用
app = Flask(__name__)

# 配置 MySQL
app.config['MYSQL_HOST'] = 'localhost'  # MySQL 主机地址
app.config['MYSQL_USER'] = 'root'       # MySQL 用户名
app.config['MYSQL_PASSWORD'] = 'admin'  # MySQL 密码
app.config['MYSQL_DB'] = 'py_test'  # 数据库名称
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'  # 返回字典格式的结果

# 初始化 MySQL
mysql = MySQL(app)

# 首页 - 显示所有用户
@app.route('/')
def index():
    cur = mysql.connection.cursor()
    cur.execute("SELECT * FROM users")
    users = cur.fetchall()
    cur.close()
    return render_template('index.html', users=users)

# 添加用户
@app.route('/add', methods=['POST'])
def add_user():
    if request.method == 'POST':
        name = request.form['name']
        email = request.form['email']

        cur = mysql.connection.cursor()
        cur.execute("INSERT INTO users (name, email) VALUES (%s, %s)", (name, email))
        mysql.connection.commit()
        cur.close()

        return jsonify({'message': 'User added successfully!'})

# 更新用户
@app.route('/update/<int:id>', methods=['PUT'])
def update_user(id):
    if request.method == 'PUT':
        data = request.get_json()
        name = data.get('name')
        email = data.get('email')

        cur = mysql.connection.cursor()
        cur.execute("UPDATE users SET name = %s, email = %s WHERE id = %s", (name, email, id))
        mysql.connection.commit()
        cur.close()

        return jsonify({'message': 'User updated successfully!'})

@app.route('/update2',methods=['put'])

    

# 删除用户
@app.route('/delete/<int:id>', methods=['DELETE'])
def delete_user(id):
    cur = mysql.connection.cursor()
    cur.execute("DELETE FROM users WHERE id = %s", (id,))
    mysql.connection.commit()
    cur.close()

    return jsonify({'message': 'User deleted successfully!'})

# 获取单个用户
@app.route('/user/<int:id>', methods=['GET'])
def get_user(id):
    cur = mysql.connection.cursor()
    cur.execute("SELECT * FROM users WHERE id = %s", (id,))
    user = cur.fetchone()
    cur.close()

    if user:
        return jsonify(user)
    else:
        return jsonify({'message': 'User not found'}), 404

# 启动应用
if __name__ == '__main__':
    app.run(debug=True)

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>User Management</title>
</head>
<body>
    <h1>User List</h1>

    <!-- 添加用户表单 -->
    <form id="addUserForm">
        <input type="text" name="name" placeholder="Name" required>
        <input type="email" name="email" placeholder="Email" required>
        <button type="submit">Add User</button>
    </form>

    <!-- 用户列表 -->
    <ul id="userList">
        {% for user in users %}
            <li>
                {{ user.name }} ({{ user.email }})
                <button onclick="deleteUser({{ user.id }})">Delete</button>
            </li>
        {% endfor %}
    </ul>

    <script>
        // 添加用户
        document.getElementById('addUserForm').addEventListener('submit', function (e) {
            e.preventDefault();
            fetch('/add', {
                method: 'POST',
                body: new FormData(this)
            }).then(response => response.json())
              .then(data => {
                  alert(data.message);
                  location.reload(); // 刷新页面
              });
        });

        // 删除用户
        function deleteUser(id) {
            fetch(`/delete/${id}`, {
                method: 'DELETE'
            }).then(response => response.json())
              .then(data => {
                  alert(data.message);
                  location.reload(); // 刷新页面
              });
        }
    </script>
</body>
</html>

效果,浏览器输入:http://127.0.0.1:5000/

转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/u013729825/article/details/158738018

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--