Rudy Mutter

Rudy is the CTO & a founding partner at Yeti a product development firm in San Francisco. He also runs the San Francisco Django Meetup Group. Rudy became obsessed with technology once he got his first computer and subsequently spent his childhood developing games and websites. Rudy now resides in the Yeti Cave architecting Yeti's system and heads up project production.

Speaker home page

Django Channels and Websockets in Production!

Python & Libraries, DevOps & Automation, Intermediate
8/19/2018 | 2:40 PM-3:10 PM | House Canary


Recently we helped launch a React Native mobile application that is a platform for college students to buy and sell from each other. Django and DRF are our usual tools of choice, but for these delivery user flows real-time updates via websockets seemed like the best UX we could offer. We started with a Django Channels spike and now it’s a large piece of our application that is out in the wild.


The Technology As web technologies have progressed, many backend frameworks that can take advantage of asynchronous code have integrated websockets. This has gone hand and hand with users who now often expect near real-time communication with the applications they use daily. Andrew Godwin started work on bring websockets into Django with is work on Channels in 2015. With the release of Channels 2.0 this year it’s ready for prime time!

The Problem Django Channels, even though it was been worked on for a few years is still relatively new in the Django world. Even moreso we were using Channels 2.0, which had literally just come out a week prior to us diving head first into Django + websockets. I personally learn best from seeing fully fleshed out examples and an ample amount of tutorials. In this case, we had to rely on just the documentation and go it alone for our use case, which is a bit different than your standard chatroom websocket example.

The Talk From this talk you’ll get working code samples that show you a fleshed out Django Channels implementation that is live in production. We’ll cover some first-time pitfalls that you should watch out for (that we fell into). You should walk away with an understanding of how you may go about integrating Django Channels into your application and where you would start with several helpful resources that you can follow up with after the talk. Specifically one of the largest areas that you’ll get a jump start in is actually deploying and running infrastructure that will support Django Channels.