Как обрабатывать сообщения с django -каналами 2? - PullRequest
1 голос
/ 20 февраля 2020

В моем проекте Django я создал приложение для уведомлений, которое обнаруживает, когда указанная модель c сохраняется, а pu sh уведомляет всех клиентов (на основе https://arunrocks.com/understanding-django-channels/ и https://github.com/arocks/channels-example). Я обновил свой код для каналов 2 и теперь у меня есть проблема с оболочкой javascript, которая была удалена в django -каналах 2 ( Как найти websocketbridge. js в Django с использованием каналов websocket? )

Раньше у меня был скрипт, который обрабатывает сообщения:

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const webSocketBridge = new channels.WebSocketBridge();
    const nl = document.querySelector("#notifylist");

    webSocketBridge.connect('/notifications/');
    webSocketBridge.listen(function(action, stream) {
      console.log("RESPONSE:", action);
      if(action.event == "New User") {
        var el = document.createElement("li");
        el.innerHTML = action.text;
        nl.appendChild(el);
      }
    })
  })
</script>

Этот скрипт больше не работает. Они предложили заменить WebSocketBridge. js на ReconnectingWebSocket. js, но я не знаю, как мне адаптировать свой предыдущий скрипт для использования ReconnectingWebSocket. js.

Кто-нибудь обновил свой код с помощью ReconnectingWebSocket? Если да, не могли бы вы привести пример.

Заранее большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 20 февраля 2020

Существует довольно много функций старой оболочки, которые больше не поддерживаются напрямую в каналах v2

, а именно концепция stream и action.

. это самостоятельно (в пределах вашего потребителя и js код).

или есть библиотека (отказ от ответственности, я автор) https://github.com/hishnash/djangochannelsrestframework, что в сочетании с https://github.com/hishnash/channelsmultiplexer предоставляет action + stream концепты из каналов V1

, вы также можете использовать это js lib https://github.com/theY4Kman/dcrf-client рядом с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...