я учусь Django Websocket все работает нормально, за исключением моей функции JS в файле HTML - PullRequest
0 голосов
/ 26 сентября 2019

Я работаю над django websocket и создаю приложение Echo, но я не знаю, почему я получаю эту ошибку enter image description here

Вот мой HTML-код

{% load staticfiles %}
<html>
  <head>
      <title>Notifier</title>
    <script src="{% static '/channels/js/websocketbridge.js' %}" type="text/javascript"></script>
</head>
 <body>

 <h1>Notifier</h1>
 <script>
 document.addEventListener('DOMContentLoaded', function() {
   const webSocketBridge = new channels.WebSocketBridge();
   webSocketBridge.connect('/ws/');
   webSocketBridge.listen(function(action, stream) {
    console.log("RESPONSE:", action, stream);
  })
  document.ws = webSocketBridge; /* for debugging */
  })
  </script>

 </body>
</html>

Это мои views.py

 from django.views.generic import TemplateView


 class HomeView(TemplateView):
     template_name = "home.html"

Это мои routing.py

   from channels.routing import ProtocolTypeRouter, URLRouter
   from django.urls import path
   from notifier.consumers import EchoConsumer

    application = ProtocolTypeRouter({
         "websocket": URLRouter([
         path("ws/", EchoConsumer),
     ])
   })

Tihs - это мое counsumers.py

 from channels.consumer import AsyncConsumer


class EchoConsumer(AsyncConsumer):
   async def websocket_connect(self, event):
       await self.send({
          "type": "websocket.accept"
      })

  async def websocket_receive(self, event):
      # Echo the same received payload
      await self.send({
          "type": "websocket.send",
          "text": event["text"]
      })

Направь меня на мою ошибку, где и что я делаю неправильно во всей этой системе, я не могу найти никакого решения в Интернете, я быожидайте, что этот код будет работать правильно, и выполните эхо на моей консоли браузера.

...