下面是关于"Flask-Sqlalchemy的基本使用详解"的完整攻略,包括两个示例说明。
什么是Flask-Sqlalchemy
Flask-Sqlalchemy是Flask框架中的一个扩展,其提供了对SQLAlchemy ORM的集成支持。其主要提供了以下功能:
- 方便地在Flask应用程序中使用数据库。
- 管理数据库模型,自动生成SQL语句。
安装Flask-Sqlalchemy
使用pip命令进行安装:pip install Flask-Sqlalchemy
基本使用
在Flask中使用Sqlalchemy以下是基本步骤:
- 在Flask应用程序中导入Flask-Sqlalchemy。
- 设置数据库URI,然后在应用程序中实例化数据库对象。
- 定义数据库模型类。
- 创建数据表。
- 在应用程序中使用数据库模型。
下面我们通过示例来说明使用Flask-Sqlalchemy的基本步骤:
示例1:创建Hello World应用
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 数据库URI
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.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 '<User %r>' % self.username
@app.route('/')
def hello_world():
user = User(username='Flask', email='flask@example.com')
# 将user写入数据库
db.session.add(user)
db.session.commit()
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True)
运行上述代码后,访问http://localhost:5000/
,会看到输出"Hello World!"。
在上面的代码中,我们首先通过from flask_sqlalchemy import SQLAlchemy
导入了SQLAlchemy
类。然后我们创建一个Flask
对象,并设置数据库的URI。接着,使用db = SQLAlchemy(app)
实例化了一个Sqlalchemy
对象,并使用class User(db.Model):
定义了一个模型类,并定义属性username
和email
。最后我们执行db.session.add(user)
和db.session.commit()
将模型写入到数据库中。
示例2:查询数据库内容
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 数据库URI
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.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 '<User %r>' % self.username
@app.route('/')
def get_users():
users = User.query.all()
return str(users)
if __name__ == '__main__':
app.run(debug=True)
运行上述代码后,访问http://localhost:5000/
,会看到数据库中所有用户的信息。
在上面的代码中,我们首先通过from flask_sqlalchemy import SQLAlchemy
导入了SQLAlchemy
类。然后我们创建一个Flask
对象,并设置数据库的URI。接着,使用db = SQLAlchemy(app)
实例化了一个Sqlalchemy
对象,并使用class User(db.Model):
定义了一个模型类,并定义属性username
和email
。最后我们使用users = User.query.all()
查询了数据库中的所有用户信息,并通过return str(users)
的方式返回了用户信息。
结论
以上是Flask-Sqlalchemy的基本使用攻略,包括示例说明。希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Flask-Sqlalchemy的基本使用详解 - Python技术站