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 Guide To Graceful Degradation In Web Development

A guide to graceful degradation in web development

Implement graceful degradation in frontend apps by handling failures, mitigating API timeouts, and ensuring a seamless UX with fallbacks.

Rosario De Chiara
Feb 11, 2025 â‹… 4 min read
Building High-Performance Websites Using Htmx And Go

Building high-performance websites using htmx and Go

Use htmx and Go to build high-performance websites, leveraging server-side rendering and minimal JavaScript for fast and efficient applications.

Abhinav Anshul
Feb 10, 2025 â‹… 11 min read
improving ux with scroll-select box

How to improve UX with a scroll-select box

The scroll-select box is a great tool for frontend developers to improve the user experience of their applications. Learn how to build a scrollable date picker that mimics the iOS style, but with the exemption of the <select> element.

Emmanuel Odioko
Feb 7, 2025 â‹… 10 min read
Deploying Next.js apps with Deno Deploy

Deploying Next.js apps with Deno Deploy

For those just getting started with deploying their first application, Deno Deploy’s simplicity might be exactly what you need; no complex configuration files to wrestle with or cloud concepts to master before getting your app live.

Emmanuel Odioko
Feb 6, 2025 â‹… 5 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