Django Channels logo

Django Channels

It extends Django's abilities beyond HTTP - to handle WebSockets, chat protocols, IoT protocols
99
129
+ 1
1

What is Django Channels?

It does this by taking the core of Django and adding a fully asynchronous layer underneath, running Django itself in a synchronous mode but handling connections and sockets asynchronously, and giving you the choice to write in either style.
Django Channels is a tool in the Frameworks (Full Stack) category of a tech stack.
Django Channels is an open source tool with 6.1K GitHub stars and 801 GitHub forks. Here’s a link to Django Channels's open source repository on GitHub

Who uses Django Channels?

Companies
21 companies reportedly use Django Channels in their tech stacks, including Backend, asencis, and Everything.

Developers
76 developers on StackShare have stated that they use Django Channels.
Pros of Django Channels
1
Open source
Decisions about Django Channels

Here are some stack decisions, common use cases and reviews by companies and developers who chose Django Channels in their tech stack.

Abdullah Adeel
Needs advice
on
DjangoDjangoNode.jsNode.js
and
RedisRedis

Hey everyone, I am planning to start a personal project that would be yet another social media project with real-time communication facilities like one-to-one chat, group chat, and later voice and video chat using WebRTC. The thing I am concerned about is Django being able to handle all the real-time stuff using websockets. I can use Django Channels, but I don't think that would be a very scalable solution. Moreover, django_channels require alto of configurations, and deployment is also a pain. My plan is to use a separate Node.js server to handle all the socket connections and have it talk to the main django server through Redis. My question is whether the above-mentioned solution is a good choice? If yes, how this can be achieved, keeping in mind all the authentication other related problems. It might be simple, but I have never done this before, which might be the main reason I am concerned. But any suggestion will be appreciated.

Thanks in advance 😊

See more

Django Channels Alternatives & Comparisons

What are some alternatives to Django Channels?
Twisted
Twisted is an event-driven networking engine written in Python and licensed under the open source ​MIT license. Twisted runs on Python 2 and an ever growing subset also works with Python 3. Twisted also supports many common network protocols, including SMTP, POP3, IMAP, SSHv2, and DNS.
Tornado
By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
Celery
Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
Pushpin
Pushpin is a reverse proxy server that makes it easy to build realtime web services. The project is unique among realtime push solutions in that it is designed to address the needs of API creators.
asyncio
This module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.
See all alternatives

Django Channels's Followers
129 developers follow Django Channels to keep up with related blogs and decisions.