如何将 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。
在我的 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。