Изменения в каналах Django в html появляются у каждого подключенного клиента
Здравствуйте, у меня есть приложение для веб чата и у меня есть возможность для пользователей создать свою собственную комнату, но проблема в том, что я должен обновлять каждого другого клиента, чтобы они могли видеть комнату и изменения в базе данных, я пробовал использовать WebSocket для лобби комнат и при создании комнаты получать и отправлять всем "refresh", но у меня уже есть сокет для чатов и кажется, что манипулирование двумя websockets не работает, они сталкиваются на .send в backend.
Есть ли возможность сделать "обновление" для всех запущенных клиентов при создании комнаты без использования каналов? Спасибо :)
это код создания комнаты :
html сторона
<div class="create-room-container">
<form action'.' method='post' class="create-room-form">
{% csrf_token %}
<div class="room-labels">
<label for="room-name">Room Name :</label>
<input type="text" id="room-name" name="room-name" placeholder="Enter room name...">
</div>
<input type="submit" value="Create Room" class="create-room-button">
</form>
views.py side
@login_required
def rooms(request):
if request.method == 'POST':
room_owner = request.user
room_name = request.POST['room-name']
if not Room.objects.filter(slug = room_name).exists():
if room_name == '' or room_name.isspace() or room_name.startswith(' '):
messages.info(request, 'Invalid room name, spaces-only or string that starts with spaces is invalid.')
else:
new_room = Room(owner = room_owner,name = room_name,slug = room_name)
new_room.save()
else:
messages.info(request, 'That room already exists!, try a different name.')
rooms = Room.objects.all()
return render(request, 'room/rooms.html', {'rooms': rooms})
созданная комната просто не появляется, пока я не нажму f5 или refresh Я понимаю почему, но есть ли решение для этого? Например, асинхронная комминкация на localhost:8000/rooms.html и когда комната создана "сообщение всем пользователям" новой комнаты в качестве ответа. Я не могу сделать это с помощью websocket, потому что я не могу заставить двух потребителей быть разделенными при вызове функций.