繁体   English   中英

如何将 socketio 对象从 Flask 的 app.py 传递到 Python 中的视图模块?

[英]How can I pass the socketio object from Flask's app.py to a views module in Python?

在我的app.py ,我这样做:

app = Flask(__name__)
app.register_blueprint(views.SOMETHING)
socketio = SocketIO(app, ...)

我需要使用这个socketio对象,或者更具体地说,它的socketio.emit方法来与客户交谈。

我需要从多个 Python 模块(例如我的views模块)和一些定义一些后台线程的模块中执行此操作。

当我启动后台线程时,很容易将socketio对象传递给它们,但我无法弄清楚如何在定义了所有视图的views模块中访问该对象。

我唯一能想到的就是有一个global_vars模块来存储socketio对象,它可以从多个 Python 模块导入,但我听说这是不好的做法。

有没有更好的方法将我的socketio对象传递给我的views模块?

最简单的方法是from app import socketio但请确保在设置 socketio 后将导入 socketio 的文件导入到 app.py 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM