Python Flask SQLAlchemy上下文介绍

简介: 如果您打算仅使用一个应用程序(app),则可以在很大程度上跳过本文。只要将您的应用程序传递给SQLAlchemy 构造函数,就可以设置好了。但是,如果要使用多个应用程序,或者要在要读取的功能中动态创建该应用程序。

Python Flask SQLAlchemy上下文介绍链接


如果您打算仅使用一个应用程序(app),则可以在很大程度上跳过本文。只要将您的应用程序传递给SQLAlchemy 构造函数,就可以设置好了。但是,如果要使用多个应用程序,或者要在要读取的功能中动态创建该应用程序。

如果您在函数中定义应用程序,但在SQLAlchemy全局对象中定义,则后者如何了解前者?答案是init_app()函数:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app():
    app = Flask(__name__)
    db.init_app(app)
    return app


它所做的是准备要使用的应用程序 SQLAlchemy。但是,这现在并未将SQLAlchemy对象绑定 到您的应用程序。为什么不这样做呢?因为可能创建了多个应用程序。

那么如何SQLAlchemy了解您的应用程序呢?您将必须设置一个应用程序上下文。如果您在Flask视图功能或CLI命令中进行操作,则会自动发生。但是,如果您在交互式外壳中工作,则必须自己进行操作(请参阅创建应用程序上下文)。

如果您尝试在应用程序上下文之外执行数据库操作,则会看到以下错误:

找不到应用程序。在视图函数内部工作或推送应用程序上下文。

简而言之,执行以下操作:

>>> from yourapp import create_app
>>> app = create_app()
>>> app.app_context().push()

或者,使用with语句来完成设置和拆卸:

def my_function():
    with app.app_context():
        user = db.User(...)
        db.session.add(user)
        db.session.commit()

Flask-SQLAlchemy内部的一些函数还可以选择接受应用程序以对其进行操作:

>>> from yourapp import db, create_app
>>> db.create_all(app=create_app())
相关文章
|
26天前
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。
|
28天前
|
API 数据库 开发者
Python微服务框架:Flask与FastAPI的融合创新
在当今高度互联的世界中,构建可扩展、灵活和高效的微服务架构变得至关重要。Python作为一种广泛应用于Web开发的编程语言,其微服务框架Flask和FastAPI的概念与实践日益受到关注。本文将介绍这两个框架的核心概念,并探讨它们在实际应用中的强大功能和优势。
|
1月前
|
人工智能 前端开发 JavaScript
基于Python+Flask+Echart实现二手车数据分析展示
基于Python+Flask+Echart实现二手车数据分析展示
|
26天前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
32 7
|
18天前
|
前端开发 API 数据库
深入浅出:使用Python和Flask构建RESTful API
在当今的软件开发领域,RESTful API成为了连接前端与后端,以及不同系统之间通信的桥梁。Python因其简洁语法和强大的库支持,特别是Flask框架的轻量级和灵活性,成为开发RESTful API的首选之一。本文旨在为初学者提供一个清晰、简洁的指南,通过一个实际的例子,演示如何使用Python和Flask快速构建一个RESTful API。我们将从API的设计开始,逐步深入到实现细节,包括路由设置、请求处理、数据验证、以及与数据库的交互。无论你是前端开发者希望更好地理解后端服务的工作原理,还是后端开发者想要掌握快速构建API的技巧,本文都将为你提供有价值的见解。
|
27天前
|
Java 数据库 Python
python flask 简单示例
python flask 简单示例
16 2
|
1月前
|
数据采集 开发框架 数据挖掘
基于Python+Flask框架开发实现二手车数据爬取及分析
基于Python+Flask框架开发实现二手车数据爬取及分析
|
SQL 关系型数据库 MySQL
Python Flask 简明教程(14)--通过ORM方式操作数据库
本文目录 1. 前言 2. 创建数据库 3. 安装sqlalchemy 4. 建立基本程序 5. 建立ORM映射 6. 增删改查操作 7. 总结
644 0
|
SQL 关系型数据库 MySQL
Python Flask 简明教程(13)--通过pymysql直接操作数据库
本文目录 1. 前言 2. 创建数据库与表 3. 安装pymysql模块 4. 连接数据库 5. 查询全部数据 6. 查询一条数据 7. 新增数据 8. 删除数据 9. 修改数据 10. 关闭资源 11. 小结
394 0
|
JSON 前端开发 JavaScript
Python Flask 简明教程(12)--Flask获取Ajax传输的JSON数据
本文目录 1. 前言 2. 创建项目结构 3. 发起Ajax请求 4. 编写app.py 5. 接收JSON数据 6. 测试 7. 小结
1911 0