使用Flask和SQLite构建Python Web应用程序

闪耀星辰 2022-03-25 ⋅ 27 阅读

在Web应用程序开发中,选择合适的开发框架和数据库是非常重要的。Python有很多优秀的Web开发框架和数据库系统可供选择。本文将重点介绍如何使用Flask框架和SQLite数据库构建一个Python Web应用程序的后端。

Flask框架简介

Flask是一个轻量级的Web应用程序框架,它由Python编写而成,使用起来非常简单。Flask提供了路由、模板引擎、表单验证、Session管理等常用功能,以及支持多种数据库系统的扩展。

Flask的安装非常简单,只需在终端中运行以下命令即可:

pip install Flask

SQLite数据库简介

SQLite是一种嵌入式数据库系统,它以文件的形式存储数据,无需单独的服务器进程。SQLite具有轻量、快速、可移植等特点,是小型Web应用程序开发的理想选择。

在Python中,使用SQLite数据库非常方便。Python内置了SQLite数据库模块,无需安装任何额外的库即可进行数据库操作。

创建Flask应用程序

首先,我们需要创建一个新的Flask应用程序。在项目文件夹下创建一个名为app.py的Python文件,并在文件中编写以下代码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

以上代码创建了一个Flask应用程序,并定义了一个路由/,当用户访问根目录时,会返回字符串"Hello, World!"。app.run()用于启动应用程序。

连接SQLite数据库

接下来,我们需要在应用程序中连接SQLite数据库。在app.py文件中添加以下代码:

import sqlite3

def get_db_connection():
    connection = sqlite3.connect('database.db')
    connection.row_factory = sqlite3.Row
    return connection

@app.teardown_appcontext
def close_db_connection(exception):
    connection = getattr(g, '_database', None)
    if connection is not None:
        connection.close()

@app.route('/users')
def get_users():
    connection = get_db_connection()
    cursor = connection.execute('SELECT * FROM users')
    users = cursor.fetchall()
    connection.close()
    return render_template('users.html', users=users)

以上代码定义了两个辅助函数get_db_connection()close_db_connection(),分别用于获取数据库连接和关闭数据库连接。@app.teardown_appcontext装饰器会在每次请求结束后自动调用close_db_connection()函数,确保数据库连接正常关闭。

另外,我们在/users路由中执行了一条SQL查询,获取所有的用户数据,并将数据传递给users.html模板进行展示。

创建数据库

在使用SQLite数据库之前,我们需要先创建数据库和相应的表格。在项目文件夹下打开终端,运行以下命令:

sqlite3 database.db

以上命令会创建一个名为database.db的SQLite数据库文件,并进入SQLite命令行界面。在SQLite命令行界面中运行以下命令:

CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL);
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');

以上命令创建了一个名为users的表格,并向表格中插入了两条用户数据。

创建模板文件

最后,我们需要创建一个模板文件users.html,用于展示用户数据。在项目文件夹下创建一个名为templates的文件夹,并在文件夹中创建users.html文件,编写以下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Users</title>
</head>
<body>
    <table>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Email</th>
        </tr>
        {% for user in users %}
        <tr>
            <td>{{ user['id'] }}</td>
            <td>{{ user['name'] }}</td>
            <td>{{ user['email'] }}</td>
        </tr>
        {% endfor %}
    </table>
</body>
</html>

以上代码定义了一个HTML表格,展示用户数据。使用{% for %}语句遍历用户数据,将每个用户的ID、姓名和邮箱显示在表格中。

运行应用程序

至此,我们已经完成了一个使用Flask和SQLite构建的Python Web应用程序的后端部分。在终端中运行以下命令启动应用程序:

python app.py

然后在浏览器中访问http://localhost:5000/users,即可看到用户数据在网页中的展示。

总结

本文介绍了如何使用Flask框架和SQLite数据库构建Python Web应用程序的后端。Flask提供了简洁而强大的工具,可以快速开发功能丰富的Web应用程序。SQLite作为嵌入式数据库系统,无需独立的服务器进程,非常适用于小型Web应用程序的开发。希望本文对读者能有所帮助,祝大家在Web应用程序开发的道路上不断进阶!


全部评论: 0

    我有话说: