Ну, я думаю, использование двух WebSockets для этого является излишним.Вы можете использовать только один и реализовать create_comment
и delete_comment
на уровне сообщений.
Например:
var crud_socket = new ReconnectingWebSocket(socket_url);
crud_socket.onmessage = function(event) {
// Assuming here you're using json.
var data = JSON.parse(even.data)
action = data.action;
if (action === 'delete') {
// delete here ...
}
if action === 'create' {
// create here ...
}
}
Помните, что вы используете Django ...
... так что вы можете следовать этому шаблону:
Использовать WebSockets для уведомления клиента (браузера) о каком-либо событии, которое только что произошло на сервере, объект был создан,объект был удален, какое-то задание выполнено и т. д. *
Если вы хотите выполнить действие CRUD, вы просто делаете AJAX-запрос к представлению Django.Итак, следуя этой схеме, создание сообщения должно выглядеть следующим образом:
- Ваш javascript загружается, и вы подключаетесь к веб-сокету.
- Вы нажимаете какую-то кнопку, которая запускает вызов AJAX дляПредставление Django.
- Такое представление Django получает данные, создает и сохраняет экземпляр
Message
(или любую модель, для которой вы реализовали представление сообщения). - Когда сообщение создано,приемник сигналов (см. сигналов ) отправьте сообщение в веб-сокет.
- Ваш js-код получает это сообщение соответствующим образом.
Рекомендуется: Каналы Джанго