基于python flask实现网页与数据库的交互连接
本帖最后由 Shaw0xyz 于 2024-6-9 13:50 编辑1. 简介
Python Flask 是一个轻量级的 Web 框架,常用于构建简单而强大的 Web 应用程序。在现代 Web 应用中,与数据库的交互是必不可少的。本篇文章将详细介绍如何基于 Python Flask 实现网页与数据库的交互连接。
1.1 环境准备
在开始之前,需要确保系统中安装了以下组件:
(1) Python
(2) Flask
(3) 数据库(本文以 SQLite 为例)
安装 Flask:
pip install flask
安装 SQLite 驱动:
pip install sqlite3
1.2 创建 Flask 项目
首先,创建一个新的目录用于存放项目文件,然后在该目录下创建一个名为 app.py 的文件。
1.2.1 初始化 Flask 应用
在 app.py 文件中,初始化一个 Flask 应用:
from flask import Flask, request, render_template
import sqlite3
app = Flask(__name__)
1.3 数据库配置
1.3.1 创建 SQLite 数据库
在项目目录下创建一个名为 database.db 的 SQLite 数据库文件。在该数据库中创建一个用户表,用于存储用户信息。
连接数据库并创建表:
conn = sqlite3.connect('database.db')
c = conn.cursor()
c.execute('''
CREATE TABLE user
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE)
''')
conn.commit()
conn.close()
1.4 路由和视图函数
1.4.1 创建主页路由
创建一个简单的主页路由,在 app.py 文件中添加以下代码:
@app.route('/')
def index():
return "Welcome to the Flask Web App!"
1.4.2 创建用户注册路由
用户注册页面允许用户提交信息,这些信息将被存储到数据库中。创建一个新的模板文件 register.html 用于用户输入。
register.html 文件内容:
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form action="/register" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name"><br>
<label for="email">Email:</label>
<input type="text" id="email" name="email"><br>
<input type="submit" value="Register">
</form>
</body>
</html>
在 app.py 文件中添加以下代码以处理注册请求:
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
name = request.form['name']
email = request.form['email']
conn = sqlite3.connect('database.db')
c = conn.cursor()
c.execute("INSERT INTO user (name, email) VALUES (?, ?)", (name, email))
conn.commit()
conn.close()
return "User registered successfully!"
return render_template('register.html')
1.4.3 创建用户列表路由
创建一个显示所有注册用户的页面。在 app.py 文件中添加以下代码:
@app.route('/users')
def users():
conn = sqlite3.connect('database.db')
c = conn.cursor()
c.execute("SELECT * FROM user")
users = c.fetchall()
conn.close()
return render_template('users.html', users=users)
创建一个新的模板文件 users.html 用于显示用户列表。
users.html 文件内容:
<!DOCTYPE html>
<html>
<head>
<title>Users</title>
</head>
<body>
<h1>Registered Users</h1>
<ul>
{% for user in users %}
<li>{{ user }} - {{ user }}</li>
{% endfor %}
</ul>
</body>
</html>
1.5 运行应用
在 app.py 文件末尾添加以下代码以运行 Flask 应用:
if __name__ == '__main__':
app.run(debug=True)
保存所有文件后,运行以下命令启动 Flask 应用:
python app.py
1.6 测试
打开浏览器,访问 http://127.0.0.1:5000/,您将看到欢迎页面。
访问 http://127.0.0.1:5000/register 可以看到用户注册页面,提交表单后访问 http://127.0.0.1:5000/users 可以看到所有注册用户的列表。
2. 总结
本文详细介绍了如何使用 Python Flask 框架与 SQLite 数据库进行交互,包括如何配置环境、创建数据库、编写路由和视图函数,以及如何展示用户数据。这些步骤构成了一个完整的 Web 应用开发流程,为进一步扩展和开发奠定了基础。通过这些操作,您可以轻松实现网页与数据库的交互功能。
/ 荔枝学姐de课后专栏 /
Hi!这里是荔枝学姐~
欢迎来到我的课后专栏
自然语言学渣 NLP摆烂姐
热衷于技术写作 IT边角料
AIGC & Coding & Linux ...
~互撩~ TG: @Shaw_0xyz
页:
[1]