带有 Flask 服务器的面向对象 Python?

2024-04-22

我正在使用 Flask 将一些数据处理代码公开为 Web 服务。 我想要一些我的 Flask 函数可以访问的类变量。

让我带你看看我被困住的地方:

from flask import Flask
app = Flask(__name__)

class MyServer:
  def __init__(self):
    globalData = json.load(filename)

  @app.route('/getSomeData')
  def getSomeData():
    return random.choice(globalData) #select some random data to return

if __name__ == "__main__":
  app.run(host='0.0.0.0')

当我跑步时getSomeData()在 Flask 之外,它工作得很好。但是,当我用 Flask 运行这个时,我得到500 internal server error。这里没有魔法,Flask 不知道它应该初始化一个MyServer目的。我如何将 MyServer 的实例提供给app.run()命令?

I could认输并投入globalData改为数据库。但是,还有别的办法吗?


您可以创建一个实例MyServer就在端点的范围之外并访问其属性。这对我有用:

class MyServer:
    def __init__(self):
        self.globalData = "hello"

from flask import Flask
app = Flask(__name__)

my_server = MyServer()

@app.route("/getSomeData")
def getSomeData():
    return my_server.globalData

if __name__ == "__main__":
    app.run(host="0.0.0.0")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 Flask 服务器的面向对象 Python? 的相关文章

随机推荐

  • NSLayoutConstraint 常量设置后不更新

    我有一个UIView具有相应的子类xib文件 在我的 xib 中我有一个NSLayoutConstraint我正在尝试为其设置动画的属性 我有一个animateIn方法 问题是只有 animateIn 方法有效 当我尝试再次更新常量时 它只
  • 正则表达式捕获第 n 个匹配项

    有没有办法使用正则表达式返回第 n 次出现 我确实搜索了论坛 只找到了超出正则表达式本身的解决方案 即需要编程语言的支持 例子 正则表达式 d d 3 d 2 Input thiscanbeanything 25 74thiscanbeso
  • RealityKit – 什么是 `steelBox` 实例加载?

    当您使用标准 Xcode 模板创建增强现实项目时 Xcode 会添加以下内容swift文件到您的项目 Experience swift GENERATED CONTENT DO NOT EDIT import Foundation impo
  • PHP - 以某种方式哈希对象,具有相同字段值的不同对象具有相同的哈希值

    我正在寻找一种方法来为 PHP 对象生成某种哈希值 通用解决方案 如果可能的话 可以使用所有分类的 内置的和自定义的 SplObjectStorage getHash 不是我正在寻找的 因为它会为给定类的每个实例生成不同的哈希值 为了描述这
  • Android 上带有 asynctask 的 Webview

    我想做的是进度对话框等待加载项目webview 我该怎么做dialog dismiss 事件取决于加载项目webview public class asynctask extends AsyncTask
  • 静态链接库时出现 glew 链接器错误

    我正在尝试在 Visual Studio 2012 中构建一个 opengl 项目 我想静态包含 glew 库 因此我从源代码构建它并将生成的 glew32sd lib 复制到我的 lib 目录 我将此 lib 路径提供给 Visual S
  • 有关 Jquery/Masonry 的帮助,小调整

    对于我的一生 我无法弄清楚到底发生了什么 我缺乏 Jquery 知识可能与此有关 看看这个 http jsfiddle net ryanjay fgNMJ http jsfiddle net ryanjay fgNMJ 加载页面时 每张照片
  • 我应该如何比较这些双打以获得所需的结果?

    我这里有一个简单的示例应用程序 我在其中进行乘法和加法double变量 然后将它们与预期结果进行比较 在这两种情况下 结果都等于预期结果 但当我进行比较时 它失败了 static void Main string args double a
  • 禁用 KeyGaurd 后无法重新启用它

    我写了下面的代码来切换KeyGaurd我的 Android 手机使用切换按钮 但我面临着一种奇怪的行为 它禁用keygaurd成功了但是 不重新启用 btnToggleLock setOnClickListener new OnClickL
  • PowerShell 的嵌套数据类型输出

    我正在尝试从某些输入创建嵌套数据结构并最终将其转换为 JSON 但一旦它变得太深 我就会遇到麻烦 该结构将是一个哈希数组 其中一项是另一个哈希数组 这设置了两个哈希数组 baz1 and baz2 PS D gt baz1 foo foo1
  • 如何从 C# 等托管代码中使用 ActiveX 组件的嵌入式免注册清单?

    我想使用未在系统或用户范围内注册的特定版本的 ActiveX 组件 如果我使用清单文件 一切都会按预期工作 但是 嵌入式清单仅适用于 C 客户端代码 这是依赖声明
  • 如何为 jqGrid jsonify“添加”帖子/参数

    这个人要杀了我 我读过很多Oleg https stackoverflow com users 315935 oleg的评论 并通过文档 http www trirand com jqgridwiki doku php id wiki fo
  • 树枝中不允许使用convert_encoding

    为了转换我的法语 html 口音 我尝试通过在 Twig 中执行以下操作来更改编码 ddf description convert encoding UTF 8 HTML ENTITIES 但这是我收到的消息 渲染模板期间引发异常 注意 i
  • 带有分段控件的 NSToolbarItem - 图像未正确渲染

    我正在尝试模拟 Xcode 的工具栏控件来显示 隐藏导航器和检查器 但没有底部窗格 仅左侧和右侧 两段 我从 Xcode 的 UI 中截取图标 并在图像编辑应用程序中跟踪它们 左窗格的资源是 1x 20x20 72 dpi 2x 40x40
  • Scala:如何检查 Seq 中的所有项目是否唯一?

    是否有更惯用且可能更快的方法来检查 a 中是否存在重复项Seq 比这个 mySeq size mySeq toSet size 这会更快 因为它可以提前终止 def allUnique A to TraversableOnce A val
  • Java获取下载进度

    我正在编写一个 Java 应用程序 使用 NetBeans 作为 IDE 和 jFrame 表单 其中一部分下载一个文件 如何使用当前下载进度更新进度条 或者至少获取另一个线程中当前下载的字节总数 下面是我的代码的一部分 Runnable
  • 将边权重传递给networkx中的graphviz_layout

    每个人都找不到如何将权重列表的属性名称传递给networkx中的graphviz layout 像这样的事情 nx spring layout G weight weight sum 但与nx graphviz layout G 也许有人会
  • Git 错误“致命:不明确的参数‘HEAD’:未知修订版本或路径不在工作树中”

    我正在尝试从以下位置初始化一个新的 Git 存储库Debian https en wikipedia org wiki Debian 实际上是 VirtualBox 上的虚拟机 在 Mac OS X 上安装并运行 cd mkdir test
  • TypeScript 构造函数 - 环境上下文错误

    如何在 TypeScript 中创建构造函数 看了一堆指南 但语法肯定已经改变了 这是我的最新尝试 car d ts declare class Car constructor public engine string this engin
  • 带有 Flask 服务器的面向对象 Python?

    我正在使用 Flask 将一些数据处理代码公开为 Web 服务 我想要一些我的 Flask 函数可以访问的类变量 让我带你看看我被困住的地方 from flask import Flask app Flask name class MySe