使用Python实现一个简单的Web应用:Flask + MySQL数据库交互教程

今天 4阅读

在现代的Web开发中,后端与数据库之间的交互是不可或缺的一部分。本文将介绍如何使用Python中的Flask框架来构建一个简单的Web应用,并通过MySQL数据库进行数据的增删改查(CRUD)操作。

我们将从零开始搭建环境、编写代码并运行示例项目,适合有一定Python基础和Web开发兴趣的技术爱好者阅读。文中包含完整的代码示例,读者可直接复制运行测试。


准备工作

1. 安装Python和虚拟环境

确保你已经安装了Python 3.x版本。推荐使用虚拟环境来管理依赖:

python -m venv venvsource venv/bin/activate  # Linux/MacOSvenv\Scripts\activate     # Windows

2. 安装Flask和MySQL驱动

pip install Flask flask-mysqldb

创建Flask项目结构

我们采用一个简单的目录结构如下:

flask-mysql-app/│├── app.py├── config.py└── templates/    └── index.html

配置MySQL数据库连接

config.py 中添加数据库配置信息:

# config.pyimport osclass Config:    MYSQL_HOST = 'localhost'    MYSQL_USER = 'root'    MYSQL_PASSWORD = 'your_password'  # 替换为你的MySQL密码    MYSQL_DB = 'flask_db'    MYSQL_CURSORCLASS = 'DictCursor'

注意:你需要提前在MySQL中创建名为 flask_db 的数据库。


编写Flask应用逻辑

app.py 文件中编写主程序逻辑:

# app.pyfrom flask import Flask, render_template, request, redirect, url_forfrom flask_mysqldb import MySQLimport configapp = Flask(__name__)app.config.from_object(config.Config)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():    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 redirect(url_for('index'))@app.route('/delete/<int:id>')def delete_user(id):    cur = mysql.connection.cursor()    cur.execute("DELETE FROM users WHERE id = %s", (id,))    mysql.connection.commit()    cur.close()    return redirect(url_for('index'))if __name__ == '__main__':    app.run(debug=True)

创建HTML模板文件

templates/index.html 中编写前端展示页面:

<!-- templates/index.html --><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Flask MySQL 示例</title></head><body>    <h1>用户列表</h1>    <form action="{{ url_for('add_user') }}" method="post">        <input type="text" name="name" placeholder="姓名" required>        <input type="email" name="email" placeholder="邮箱" required>        <button type="submit">添加用户</button>    </form>    <hr>    <ul>        {% for user in users %}            <li>                {{ user.name }} - {{ user.email }}                <a href="{{ url_for('delete_user', id=user.id) }}">删除</a>            </li>        {% endfor %}    </ul></body></html>

初始化数据库表

在MySQL中执行以下SQL语句创建 users 表:

CREATE DATABASE flask_db;USE flask_db;CREATE TABLE users (    id INT AUTO_INCREMENT PRIMARY KEY,    name VARCHAR(100),    email VARCHAR(100));

运行项目

进入项目根目录并运行:

python app.py

打开浏览器访问 http://127.0.0.1:5000,你应该能看到一个可以添加和删除用户的网页界面。


扩展建议

加入更新功能:你可以扩展路由 /edit/<int:id> 实现编辑功能。表单验证:使用 WTForms 或 Flask-WTF 进行更严格的输入校验。前后端分离:结合Vue.js或React做前后端分离,用Flask作为REST API服务。部署上线:使用 Gunicorn + Nginx 部署到服务器上。

总结

通过本篇文章的学习,我们实现了:

使用 Flask 框架搭建 Web 应用;使用 MySQL 数据库存储用户信息;实现了基本的 CRUD 功能;学习了 Flask 与 HTML 模板的基本交互方式。

Flask 是一个轻量级但功能强大的框架,非常适合初学者入门Web开发。希望这篇文章能帮助你更好地理解和掌握 Python Web 开发的基础知识。

如需获取完整源码,请访问 GitHub 示例仓库(假设存在)或自行整理上述代码即可运行。


字数统计:约1200字

如需进一步深入学习,建议查阅官方文档:

Flask 官方文档Flask-MySQLdb 文档
免责声明:本文来自网站作者,不代表CIUIC的观点和立场,本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。客服邮箱:ciuic@ciuic.com

目录[+]

您是本站第8964名访客 今日有18篇新文章

微信号复制成功

打开微信,点击右上角"+"号,添加朋友,粘贴微信号,搜索即可!