首页 > 编程语言 >Python报错:RuntimeError: Working outside of application context.

Python报错:RuntimeError: Working outside of application context.

时间:2023-03-21 13:34:33浏览次数:45  
标签:Working Python app db 应用程序 Flask 报错 result 上下文

这个错误通常表示您在Flask应用程序上下文之外尝试访问Flask扩展或对象。 您需要在应用程序上下文中访问它们。 一种解决方法是在应用程序上下文中使用with语句包装代码块。

例如,以下代码块中的db对象是Flask-SQLAlchemy的实例,如果在应用程序上下文之外调用它,将引发RuntimeException。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)

@app.route('/')
def index():
   # 下面一行会会抛出 RuntimeError: Working outside of application context
   result = db.session.query(User).all()
   return render_template('index.html', result=result)

要解决这个错误,可以通过with语句将代码块包装在应用程序上下文中。例如:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)

with app.app_context():
    # 此处所有代码均在应用程序上下文中
    result = db.session.query(User).all()
    # ...

@app.route('/')
def index():
   return render_template('index.html', result=result)

这将确保您在Flask应用程序上下文中使用db对象,并避免引发RuntimeError。

标签:Working,Python,app,db,应用程序,Flask,报错,result,上下文
From: https://www.cnblogs.com/zhshan/p/17239669.html

相关文章

  • [1]Python基础语法-【2】数据类型
    在Python中,有多种不同的数据类型可供使用。这些数据类型包括数字、字符串、列表、元组、字典和集合。在本教程中,我们将介绍这些数据类型的定义和基本操作。数字数字是Pyt......
  • 使用Python标准库修改 Windows 系统代理
    转载:https://www.jianshu.com/p/6862d35e2855?tdsourcetag=s_pcqq_aiomsg Why在用Python编写一些网络相关的脚本时经常会需要连上特定代理。而面向Google编程又......
  • 解决Python运行脚本时ModuleNotFoundError: No module named 'xxx'报错
    自己写的项目直接在Pycharm里run或debug没问题,但使用cmd命令通过pythonxxx.py运行脚本,如果脚本import了其他文件的方法就会报错:ModuleNotFoundError:Nomodulenamed'xx......
  • ssh报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    一、现象ssh远程连接服务器时,显示如下提示 二、原因WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!翻译过来就是警告:远程主机标识已更改!此报错是由于远程的主......
  • python的人脸识别库face_recognition
    代码:importcv2importnumpyasnpimportface_recognitionimg_train=face_recognition.load_image_file('query/1679370481783.jpg')img_train=cv2.cvtColor(i......
  • Python Django 加法计算器案例
    创建add应用在templates内新建add.html文件:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Co......
  • 【grpc】根据proto生成grpc接口Python代码
     1、编写自己的proto接口文件syntax="proto3";packagehelloworld;//对应包名//定义服务serviceGreeter{//SendsagreetingrpcSayHello(HelloR......
  • Python Django 登陆案例
    在根目录下新建一个templates文件将该目录添加到settings.py文件内在templates文件夹内新建一个login.html文件,并写入模板内容<!DOCTYPEhtml><htmllang="z......
  • Python——逻辑运算与比较运算(四)
    1.条件控制逻辑#关键字if#如果***成立了,我们就***咋样i=2ifi==1:#这里的返回结果是True才会往下执行#如果是False就不执行print("i的值是1")pri......
  • Python——程序中的循环(五)
    1.第一个循环-while#coding=utf-8#while循环i=1whilei<5:#永远为Trueprint(i)#这里需要一个控制方向i=i+1print("计算后此时i......