推荐答案
在 Flask 中集成数据库通常使用 SQLAlchemy 或 Flask-SQLAlchemy 扩展。以下是一个使用 Flask-SQLAlchemy 的示例:
// www.javascriptcn.com code example
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
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}>'
# 创建数据库表
with app.app_context():
db.create_all()
# 示例:添加用户
@app.route('/add_user')
def add_user():
new_user = User(username='john_doe', email='john@example.com')
db.session.add(new_user)
db.session.commit()
return 'User added!'
if __name__ == '__main__':
app.run(debug=True)本题详细解读
1. 安装 Flask-SQLAlchemy
首先,你需要安装 Flask-SQLAlchemy 扩展:
pip install Flask-SQLAlchemy
2. 配置数据库连接
在 Flask 应用中,通过 app.config['SQLALCHEMY_DATABASE_URI'] 配置数据库连接字符串。常见的数据库连接字符串格式如下:
- SQLite:
sqlite:///example.db - PostgreSQL:
postgresql://user:password@localhost/mydatabase - MySQL:
mysql://user:password@localhost/mydatabase
3. 定义模型
使用 db.Model 定义数据库模型。每个模型类对应数据库中的一张表,类属性对应表中的列。例如:
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)4. 创建数据库表
在应用上下文中使用 db.create_all() 创建数据库表:
with app.app_context():
db.create_all()5. 数据库操作
通过 db.session 进行数据库操作,如添加、查询、更新和删除记录。例如:
// www.javascriptcn.com code example # 添加记录 new_user = User(username='john_doe', email='john@example.com') db.session.add(new_user) db.session.commit() # 查询记录 user = User.query.filter_by(username='john_doe').first() # 更新记录 user.email = 'new_email@example.com' db.session.commit() # 删除记录 db.session.delete(user) db.session.commit()
6. 运行应用
最后,运行 Flask 应用以启动服务器:
python app.py
通过以上步骤,你可以在 Flask 中成功集成数据库并进行基本的数据库操作。