Я пытаюсь создать пример приложения hello world для приложения-колбы с socketio, которое заключено в класс.
Я хочу обернуть все приложение в класс, который можно встроить в другие приложения. Для этого я создаю приложение Flask в конструкторе моего класса, а также создаю экземпляр SocketIO в качестве члена.
Проблема в том, что я получаю исключение NameError, сообщающее мне, что 'socketio' не определено.
Я попытался адаптировать минимальный рабочий пример из: учебника по колбе (https://flask -socketio.readthedocs.io / en / latest / )
Вот пример кода, который я пытаюсь заставить работать:
from flask import Flask
from flask_socketio import SocketIO, emit
class ApplicationExample:
def __init__(self):
self.app = Flask(__name__)
self.socketio = SocketIO(self.app)
@socketio.on('ping')
def pongResponse(self, message):
emit('pong')
def run(self):
self.socketio.run(service.app, host='0.0.0.0')
if __name__ == '__main__':
service = ApplicationExample()
service.run()
Я бы хотел связать функцию pongResponse с экземпляром socketio внутри моего класса. Как можно украсить функцию, имея в качестве члена класс SocketIO?