2021-03-01
2526
#django
Gaurav Singhal
35014
Mar 1, 2021 ⋅ 9 min read

Django Channels and WebSockets

Gaurav Singhal Gaurav is a data scientist with a strong background in computer science and mathematics. As a developer, he works with Python, Java, Django, HTML, Struts, Hibernate, Vaadin, web scraping, Angular, and React.

Recent posts:

A crash course in Next.js middleware

A crash course in Next.js middleware

Learn the ins and outs of Next.js middleware, which allows you to perform actions before a request is completed and modify the response accordingly.

Temitope Oyedele
May 23, 2025 ⋅ 9 min read
How AI Is Changing Debugging With Google Gemini

How AI is changing debugging with Google Gemini

The Google Gemini AI model has integrated AI-powered features to improve the debugging experience in web development.

Emmanuel John
May 23, 2025 ⋅ 5 min read
10 Node.js 24 features you're probably not using

10 Node.js 24 features you’re probably not using

The Node.js 24 release included significant updates. Explore 10 features you might not be using yet — but absolutely should be.

Emmanuel John
May 22, 2025 ⋅ 8 min read
six CSS animation libraries to bring your project to life in 2025

6 CSS animation libraries to bring your project to life in 2025

Explore six of the best, easiest, most configurable, and convenient CSS animation libraries available in 2025.

Murat Yüksel
May 22, 2025 ⋅ 8 min read
View all posts

6 Replies to "Django Channels and WebSockets"

  1. Great tutorial!

    Everything works right out of the box except for the following minor details

    – move extends directive to top of file in game/templates/main.html
    – remove extraneous backslashes from game/consumers.py
    self.room_name = self.scope\[‘url_route’\][‘kwargs’][‘room_code’]

    1. none of this works for me…
      GEThttp://localhost:8081/favicon.ico
      [HTTP/1.1 404 Not Found 0ms]

      GETws://localhost:8081/ws/play/xxx/
      [HTTP/1.1 404 Not Found 7ms]

      Firefox can’t establish a connection to the server at ws://localhost:8081/ws/play/xxx/. game.js:5:17
      Socket is closed. Reconnect will be attempted in 1 second. game.js:132:17

  2. Great tutorial, in addition to Silkentrance updates, for django 4 I had to make the following changes:

    – game.js – change event.path[0] to event.composedPath()[0]
    – routing.py – change django.conf.urls import url to from django.urls import re_path
    – routing.py – change url to re_path in websocket_urlpatterns

    Thank you for putting this together!

Leave a Reply