Python作为一种功能强大且易于学习的编程语言,结合MySQL这一成熟、稳定的开源关系型数据库管理系统,为开发者提供了一个高效、可靠的解决方案
本文将详细介绍如何使用Python编写网页并连接MySQL数据库,以实现数据的存储、检索和展示,从而构建出功能丰富的动态网页
一、环境准备 在开始之前,确保你的开发环境中已经安装了以下必要组件: 1.Python:建议安装最新稳定版本的Python
2.MySQL:安装MySQL服务器,并创建一个数据库和相应的表
3.Web框架:虽然可以直接使用Python的内置库如`socket`来创建服务器,但为了效率和便捷性,推荐使用Flask或Django等Web框架
4.MySQL Connector/Python:这是MySQL官方提供的Python驱动,用于连接和操作MySQL数据库
二、安装必要的库 首先,通过pip安装所需的Python库
打开终端或命令提示符,运行以下命令: bash pip install Flask mysql-connector-python 三、设置MySQL数据库 启动MySQL服务后,登录MySQL命令行界面,创建一个数据库和一个简单的表
例如,创建一个名为`testdb`的数据库和一个名为`users`的表: sql CREATE DATABASE testdb; USE testdb; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE ); 四、使用Flask创建Web应用 Flask是一个轻量级的Web框架,非常适合快速开发小型到中型的Web应用
下面是一个简单的Flask应用示例,它展示了如何连接MySQL数据库,处理表单数据,并将结果返回给前端页面
1.项目结构: my_flask_app/ │ ├── app.py ├── templates/ │└── index.html │└── show_users.html └── static/ └── styles.css 2.app.py 文件内容: python from flask import Flask, render_template, request, redirect, url_for import mysql.connector app = Flask(__name__) 配置MySQL连接 db_config ={ user: your_mysql_username, password: your_mysql_password, host: 127.0.0.1, database: testdb } 创建数据库连接函数 def get_db_connection(): return mysql.connector.connect(db_config) @app.route(/) def index(): return render_template(index.html) @app.route(/add_user, methods=【POST】) def add_user(): name = request.form【name】 email = request.form【email】 conn = get_db_connection() cursor = conn.cursor() add_user_query = INSERT INTO users(name, email) VALUES(%s, %s) cursor.execute(add_user_query,(name, email)) conn.commit() cursor.close() conn.close() return redirect(url_for(show_users)) @app.route(/users) def show_users(): conn = get_db_connection() cursor = conn.cursor(dictionary=True) cursor.execute(SELECTFROM users) users = cursor.fetchall() cursor.close() conn.close() return render_template(show_users.html, users=users) if__name__ ==__main__: app.run(debug=True) 3.- templates/index.html 文件内容: html
ID | Name | |
---|---|---|
填写表单并提交后,页面将重定向到显示所有用户的列表页面
六、安全性与扩展 虽然上述示例展示了基本功能,但在实际生产环境中,还需考虑以下几点: 1.输入验证:在服务器端和客户端都进行输入验