【问题标题】:How to call python functions from a flask instance and return values如何从 Flask 实例调用 Python 函数并返回值
【发布时间】:2023-01-17 22:30:12
【问题描述】:

这是我需要做的: 我有一个 python 应用程序,其中一个 Flask 实例在机器 A 上运行,另一个 python 应用程序在机器 B 上运行。机器 B 上的代码应调用带有 json 的 url post 请求,如下所示:

response=requests.post(url="http://127.0.0.1:5000/get_remote_data", json={"my_key":"my_value"})

问题是我不知道如何从接收到的路由函数中调用类方法并传递参数。这是我在机器 A 上的代码:

from flask import Flask

class MyClass:
    def receive_and_return_values(self, incoming):
        return {"my_return_key":"my_return_value"}

app=Flask(__name__)
@app.route('/get_remote_data', methods=['POST'])
def get_remote_data():
    my_json=request.get_json()
    #Here I want to call 'MyClass.receive_and_return_values' with the parameter 'my_json' and receive the return value.

if __name__ == '__main__':
    app.run(host='127.0.0.1',port=5000)

感谢您的任何建议

【问题讨论】:

  • MyClass().receive_and_return_values(my_json)
  • 那是一个静态方法,你为什么要使用类?
  • 我的类有很多接收和返回值的函数,我需要将所有这些方法作为 API 提供给 Web。

标签: python flask


【解决方案1】:

你可以在两台机器上为我的类创建一个实例并像这样使用它

import MyClass

@app.route('/get_remote_data', methods=['POST'])
def get_remote_data():
    my_json=request.get_json()
    receive_and_return_values(my_json)

如果您希望它是同一个对象,请使用单例设计模式, 当然这个类应该在一个单独的文件中并导入它。

【讨论】:

    猜你喜欢
    • 2013-10-24
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多