|
本帖最后由 Shaw0xyz 于 2024-6-9 13:50 编辑
1. 简介
Python Flask 是一个轻量级的 Web 框架,常用于构建简单而强大的 Web 应用程序。在现代 Web 应用中,与数据库的交互是必不可少的。本篇文章将详细介绍如何基于 Python Flask 实现网页与数据库的交互连接。
1.1 环境准备
在开始之前,需要确保系统中安装了以下组件:
(1) Python
(2) Flask
(3) 数据库(本文以 SQLite 为例)
安装 Flask:
安装 SQLite 驱动:
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[1] }} - {{ user[2] }}</li>
- {% endfor %}
- </ul>
- </body>
- </html>
复制代码
1.5 运行应用
在 app.py 文件末尾添加以下代码以运行 Flask 应用:
- if __name__ == '__main__':
- app.run(debug=True)
复制代码
保存所有文件后,运行以下命令启动 Flask 应用:
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
|
|