跟ChatGPT学Flask网络编程(7) — 数据库连接

数据库是网站后台非常重要的一部分,可以用来储存很多有用的信息,比如网站要实现用户注册和登录功能就需要使用数据库来保存用户的注册信息。这篇文章我们来看看如何将Flask程序连接到数据库。

这里的数据库用到MongoDB,这里一个流行的非SQL的数据库,关键是提供免费的额度。首先去到MongoDB的网站,点start Free注册一个用户:

图片

在注册的最后一步,网站会提供连接的代码,里面有用户名和密码:

图片

接下来去到chatGPT网站,输入一下提示词:

我:写一个Flask程序连接到MongoDB数据库

Chagpt:好的,我会为你提供一个简单的 Flask 程序示例,演示如何连接到 MongoDB 数据库。确保你已经安装了 Flask 和 pymongo(MongoDB 的 Python 驱动程序)。

首先,确保你的 MongoDB 服务器已经运行,并且你知道连接到 MongoDB 的 URL。

然后,安装必要的 Python 包:

pip install Flask pymongo

接下来,创建一个名为 app.py 的文件,并输入以下内容,(注:需要将MONGO_URI换成网站给你的连接字符串。)

from flask import Flask, jsonify
from pymongo import MongoClient

app = Flask(__name__)

# MongoDB 连接配置
MONGO_URI = "mongodb://localhost:27017/"
DB_NAME = "test"

# 初始化 MongoDB 客户端
client = MongoClient(MONGO_URI)
db = client[DB_NAME]

# 创建一个示例数据集合
students = db["students"]

# 添加一些示例数据
students.insert_many([
    {"name": "Alice", "age": 20},
    {"name": "Bob", "age": 22},
    {"name": "Charlie", "age": 21}
])

# 定义路由
@app.route('/')
def home():
    return "Welcome to the Flask MongoDB Example!"

@app.route('/students', methods=['GET'])
def get_students():
    # 从数据库中获取所有学生
    student_list = list(students.find({}, {'_id': False}))
    return jsonify(student_list)

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

在这个示例中,我们创建了一个简单的 Flask 应用程序,连接到 MongoDB 数据库。它包括一个名为 /students 的路由,用于获取所有学生的信息。

确保 MongoDB 服务器正在运行,并且使用上述的连接 URL。

运行 Flask 应用程序:

python app.py

然后,你可以在浏览器中访问 http://localhost:5000/students,查看所有学生的信息。

在VS Code中运行代码后去到MongoDB查看,发现新建了一个数据库test和数据集students,表明数据库连接成功。

图片

去到本地网站127.0.0.1:5000/students,可以查看到学生的信息。

图片