Django Channels =============== Channels is a project to make Django able to handle more than just plain HTTP requests, including WebSockets and HTTP2, as well as the ability to run code after a response has been sent for things like thumbnailing or background calculation. It's an easy-to-understand extension of the Django view model, and easy to integrate and deploy. First, read our :doc:`concepts` documentation to get an idea of the data model underlying Channels and how they're used inside Django. Then, read :doc:`getting-started` to see how to get up and running with WebSockets with only 30 lines of code. If you want a quick overview, start with :doc:`inshort`. If you are interested in contributing, please read our :doc:`contributing` docs! Projects -------- Channels is comprised of six packages: * `Channels `_, the Django integration layer * `Daphne `_, the HTTP and Websocket termination server * `asgiref `_, the base ASGI library/memory backend * `asgi_redis `_, the Redis channel backend * `asgi_rabbitmq `_, the RabbitMQ channel backend * `asgi_ipc `_, the POSIX IPC channel backend This documentation covers the system as a whole; individual release notes and instructions can be found in the individual repositories. Topics ------ .. toctree:: :maxdepth: 2 inshort concepts installation getting-started deploying generics routing binding javascript backends delay testing reference faqs asgi community contributing releases/index