db.create_all() 报错上下文?flask_sqlalchemy创建数据库找不到上下文?

news/2024/5/17 11:11:56

问题报错:

RuntimeError: Working outside of application context.This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.

长这个样子:

使用create.all()创建表
本来可以正常生成一个db文件的,但是现在出现这个报错
查了之后是flask_sqlalchemy版本太高导致

from *** import db
db.create.all()

这种写法在flask_sqlalchemy2.5.1时可以使用
解决办法:
1.卸载flask_sqlalchemy或者直接删除文件夹
重新安装低版本

pip install flask_sqlalchemy==2.5.1 

要是就想使用现在的版本(3.x.x)
可以这样写

with app.app_context():db.create_all()

因为从Flask-SQLAlchemy3.0开始,所有对db.engine (和db.session)的访问都需要一个活动的Flask应用程序上下文。db.create_all使用db.engine,因此它需要一个应用程序上下文。
更多细节请参考一下网址
https://cloud.tencent.com/developer/ask/sof/107343701

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.gwqt.cn/news/28488.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

csrf-基于Pikachu的学习

CSRF-跨站请求伪造 CSRF的原理 CSRF攻击即Cross-site request forgery,跨站请求伪造,直白来说就是恶意网站伪装成用户,向被害网站发起操作请求。用户输入账号信息请求登录A网站。 A网站验证用户信息,通过验证后返回给用户一个cookie 在未退出网站A之前,在同一浏览器中请求…

使用LinkAI创建AI智能体,并快速接入到微信/企微/公众号/钉钉/飞书..

LinkAI 作为企业级一站式AI Agent 智能体搭建与接入平台,可以使用LinkAI创建专属智能体,并将它连接到并快速接入到微信/企微/公众号/钉钉/飞书/web等​ LinkAI 作为企业级一站式AI Agent 智能体搭建与接入平台,不仅为用户和客户提供能够快速搭建具备行业知识和个性化设定的 …

基于CodeMirror开发在线编辑器时遇到的问题及解决方案

需求:实现json在线编辑并支持校验,基于此使用了 CodeMirror在线编辑,jsonlint校验输入数据 // package.json:"dependencies": {"codemirror": "^5.53.2","core-js": "^3.8.3","jsonlint": "^1.6.3",…

【VMware vCenter】连接和使用vCenter Server嵌入式vPostgres数据库。

vCenter Server 早期支持内嵌(embedded)和外部(external)数据库,内嵌数据库就是vPostgres,基于VMware Postgres数据库(PostgreSQL数据库),外部数据库用的多的是Oracle数据库和SQL Server数据库。因为早期使用内嵌的PostgreSQL数据库只能用于小型环境,比如仅支持几十台…

对于 CF1107E 中 dp 状态设计的一点想法

我在这延伸谱线誊写勾勒 / 试图将歌唱的意义勘破不太想发到洛谷讨论区,就往这里放了。 我觉得现有的题解都没说明白为什么本题的状态和转移能覆盖所有情况,并且感觉也非常不自然,没见过的话感觉挺难发现这么一个东西。 然而这个 dp 其实是可以自然地推导出来的。 首先发现这…

解决vscode连接远程服务器出现Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 过程试图写入的管道不存在。

1.找到.ssh文件夹。它通常位于C:\Users2.右键单击.ssh文件夹,然后单击“属性”,选择“安全”3.单击“高级”。 单击“禁用继承”,单击“确定”。 将出现警告弹出窗口。单击“从此对象中删除所有继承的权限”。 4.此时所有用户都将被删除。添加所有者。在同一窗口中,单击“编…

TCP的三次握手过程

TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的...TCP是面向连接的、可靠的、基于字节流的传输层通信协议。 TCP是面向连接的协议,所以使用 TCP前必须先建立连接,而建立连接…

windows密码存储以及hashdump所得信息解析

1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文 在Windows中密码通常不会以明文形式存储。系统会通过保存密码的哈希值来确保安全性。 这个过程涉及到NTLM或Kerberos身份认证协议,它们负责加密存储密码。 以下是存储…