运行时错误:在请求上下文之外工作。(蟒蛇烧瓶)

马蒂亚斯·卢塞罗

我正在使用 Flask 和 SqlAlchemy,情况是我有一个主数据库,然后我有几个数据库,我可以在其中获取其他类型的信息。但是凭据未定义为固定的,因此我必须从主数据库中的表中获取它们,具体取决于用户所在的工厂。为此,我使用 SQLALCHEMY_BINDS。问题是,当我尝试将连接字符串传递给 Bind 时,我告诉自己返回它的函数脱离了上下文。这里有一部分代码

def scadaConnect():
    print("################################################")
    print("################################################")
    print("################################################")
    print("################################################")    
    idplanta_session=str(session['idPlanta'])
    usernamequery = db.session.query(Scada.usernameScada).filter(Scada.idPlanta=='5')
    hostquery = db.session.query(Scada.hostScada).filter(Scada.idPlanta=='5')
    passwordquery = db.session.query(Scada.passScada).filter(Scada.idPlanta=='5')
    nombredbquery = db.session.query(Scada.nombrebdScada).filter(Scada.idPlanta=='5')
    nombredb = str(nombredbquery[0])[2:len(nombredbquery[0])-4]
    host = str(hostquery[0])[2:len(hostquery[0])-4]
    password = str(passwordquery[0])[2:len(passwordquery[0])-4]
    username = str(usernamequery[0])[2:len(usernamequery[0])-4]
    connexion = 'mysql+pymysql://'+username+":"+password+"@"+host+"/"+nombredb+"'"
    def retorno():
        return str(connexion)    


from config import SQLALCHEMY_BINDS

SQLALCHEMY_BINDS['scada']= scadaConnect()

错误如下

运行时错误:在请求上下文之外工作。

这通常意味着您尝试使用需要活动 HTTP 请求的功能。有关如何避免此问题的信息,请参阅有关测试的文档。

JG

您的代码必须从视图中调用,因此存在“请求上下文”。

您还应该查看官方文档:

https://flask.palletsprojects.com/en/1.1.x/reqcontext/

我很确定 stackoverflow 不允许非英文内容,您的问题很快就会结束。

不要射击信使,这不是我的主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

烧瓶到高速公路并扭曲:RuntimeError:在请求上下文之外工作

启动子线程时烧瓶抛出“在请求上下文之外工作”

RQ 作业的 Flask 上下文(运行时错误:在应用程序之外工作)

Python + Flask 在请求上下文之外工作

Flask Babel RuntimeError:在请求上下文之外工作

Celery 后台任务的“在请求上下文之外工作”错误

使用Flask将机器学习模型部署为REST API。错误:RuntimeError:在请求上下文之外工作

Flask启动新线程-RuntimeError:在请求上下文之外工作

RuntimeError:在请求上下文之外工作时在方法的第一行中使用请求时

Spring上下文作为运行时依赖

Pulumi 在运行时获取 kubernetes 上下文

RuntimeError:尝试从另一个Python脚本向Flask应用发送POST请求时在请求上下文之外工作

运行时错误:找不到应用程序。在视图函数内工作或推送应用程序上下文

如何在运行时检查 rails 应用程序是否在 sidekiq 工作器的上下文中运行?

Flask,Python和Socket.io:多线程应用程序给了我“ RuntimeError:在请求上下文之外工作”

烧瓶WTForm:“在应用程序上下文之外工作”

为什么Tokio返回错误“在不允许阻塞的上下文中不能删除运行时”?

Python 的默认 SSL 证书上下文在代理后面时无法在请求方法中工作,否则工作正常

Emscripten:如何在运行时检测 webgl 上下文版本?

如何设置上下文类加载器的类路径以进行运行时编译?

Spring在运行时未发现新上下文的@RequestMapping批注

Xamarin Forms iOS-当前上下文中不存在运行时

Spring Boot - WebFlux 在 i 并行运行时使用 id 保留结果上下文

在运行时动态添加spring上下文配置?

在Python上下文中什么是运行时?它由什么组成?

使用C#中的上下文菜单在运行时删除控件

如何管理App Engine Go运行时上下文以避免App Engine锁定?

如何从运行时构建的上下文中还原状态机?

从FISH运行时自定义bash“上下文”