Django: Запрос к базе данных из Channels consumers.py (WebSocket закрывается до установления соединения)
У меня работает функциональность чата, но теперь я пытаюсь добавить запрос к базе данных в методе connect
. Я следую документации по Channels и пробовал решение в этом другом вопросе StackOverflow , но ничего не работает.
Ниже приведен мой код. Ошибка, которую я вижу в консоли Javascript: WebSocket connection to 'ws://localhost:8000/ws/chat/334/' failed: WebSocket is closed before the connection is established.
У меня запущен redis-сервер на localhost, и он работал раньше, так что это не проблема.
async def connect(self):
self.room_name = self.scope['url_route']['kwargs']['room_name']
self.room_group_name = 'chat_%s' % self.room_name
valid_connection = await database_sync_to_async(self.verify_chat_room_key)()
# Join room group
async_to_sync(self.channel_layer.group_add)(
self.room_group_name,
self.channel_name
)
self.accept()
def verify_chat_room_key(self):
trans = database_sync_to_async(Transaction.objects.get)(id=self.room_name)
return True