Прежде всего, я пытаюсь создать веб-страницу чата 1 на 1.
В моем представлении страницы чата URL содержит имя пользователя, с которым я хочу пообщаться, это "http://domain.tld/chat/ ", я хочу передать это имя пользователя обработчику сокета, чтобы я мог использовать имя пользователя в качестве имени комнаты и передать его моим функциям emit и send.
Итак, я создал новый атрибут для данной переменной и присвоил ему имя пользователя в моем маршруте просмотра чата и попытался получить к нему доступ из обработчика сокетов, но возникает ошибка.
Очевидно, я должен быть в состоянии сделать это, так как контекст приложения сделан доступным для него, как я вижу в документации. Это правильный путь или я делаю что-то не так.
Любая помощь будет высоко ценится
Это ошибка между прочим
AttributeError: '_AppCtxGlobals' object has no attribute 'current_chat'
Моя функция просмотра
@bp.route('/chat/<username>')
@login_required
def chat(username):
user = User.query.filter_by(username=username).first_or_404()
g.current_chat = username
return render_template('chat.html', user=user)
Мой обработчик сокетов
@socketio.on('message')
def handleMessage(msg):
print('Message: ' + msg)
socketio.send(msg, room=g.current_chat, include_self=True)