flask在蓝图中如何创建或者调用db
时间: 2023-05-27 12:06:29 浏览: 101
flask数据库操作
在Flask中使用数据库需要使用第三方库来实现。常用的库有SQLAlchemy和Peewee等。在蓝图中使用数据库,可以在蓝图中创建数据库实例,也可以在应用程序中创建数据库实例,然后将其传递给蓝图。
下面是使用SQLAlchemy在蓝图中创建和调用数据库的示例代码:
```python
from flask import Blueprint, current_app
from flask_sqlalchemy import SQLAlchemy
db_bp = Blueprint('db', __name__)
db = SQLAlchemy()
@db_bp.route('/')
def index():
# 在蓝图中调用数据库
results = db.session.query(User).all()
return render_template('index.html', results=results)
def create_app():
app = Flask(__name__)
# 配置数据库
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# 初始化数据库
db.init_app(app)
# 注册蓝图
app.register_blueprint(db_bp)
return app
```
在上面的代码中,我们在蓝图中创建了一个名为db_bp的蓝图,并创建了一个名为db的SQLAlchemy对象。在应用程序中,我们初始化了数据库并将其传递给了db对象。然后,我们将蓝图注册到应用程序中,以便在应用程序中使用。
在蓝图中调用数据库时,我们可以使用db.session来获取数据库会话对象,然后执行查询操作。注意,这里的User是一个模型类,需要在应用程序中定义模型类,然后将其导入到蓝图中使用。
总之,在蓝图中创建和调用数据库,需要先在应用程序中初始化数据库,然后将其传递给蓝图,以便在蓝图中使用。在蓝图中调用数据库时,可以使用db.session来获取数据库会话对象,并执行查询操作。
阅读全文