如何在Flask框架中使用數(shù)據(jù)庫

小樊
81
2024-10-15 17:33:27

在 Flask 框架中使用數(shù)據(jù)庫,通常需要使用一個(gè)額外的庫來與數(shù)據(jù)庫進(jìn)行交互。最常用的庫有 SQLAlchemy 和 SQLite3。以下是如何在 Flask 應(yīng)用中使用 SQLAlchemy 的步驟:

  1. 安裝 SQLAlchemy:
pip install Flask-SQLAlchemy
  1. 在你的 Flask 應(yīng)用中導(dǎo)入并初始化 SQLAlchemy:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///your_database.db'  # 使用 SQLite3 數(shù)據(jù)庫,你也可以選擇其他數(shù)據(jù)庫
db = SQLAlchemy(app)
  1. 定義一個(gè)數(shù)據(jù)庫模型:
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    def __repr__(self):
        return f'<User {self.username}>'
  1. 創(chuàng)建數(shù)據(jù)庫表(僅在第一次運(yùn)行時(shí)需要):
flask shell
>>> from your_app import db
>>> db.create_all()
>>> exit()
  1. 在視圖函數(shù)中使用數(shù)據(jù)庫模型:
@app.route('/')
def index():
    users = User.query.all()
    return f'Users: {", ".join([user.username for user in users])}'
  1. 運(yùn)行 Flask 應(yīng)用:
if __name__ == '__main__':
    app.run(debug=True)

以上示例展示了如何在 Flask 應(yīng)用中使用 SQLAlchemy 進(jìn)行基本的數(shù)據(jù)庫操作。你可以根據(jù)自己的需求對(duì)模型和視圖函數(shù)進(jìn)行修改。

0