The talk will introduces the Channels concept, explains how they work and shows a few examples of what’s now possible (or plain easier) to do with them.
Real Time WebWithDjango ChannelsSenko Rašić[email protected]
View Slide
JOIN ME, AND TOGETHERWE WILL RULE THE GALAXY
WSGI
socket.iobro!
Andrew Godwin
Django Channels+ASGI
GunicornuWSGIDjangorequestresponseWSGIrequestresponseHTTP
Daphne DjangomessagemessageASGIrequestresponseHTTP
Daphne DjangomessagemessageASGIWSS upgradeWS frameHTTPWS frameWS frameWS framemessagemessagemessagedisconnect message
DaphneDjangomessagemessageASGIWSS upgradeWS frameHTTPWS frameWS frameWS framemessagemessagemessagedisconnect messageDjangoDjangoDjangoDjangoDjango
DaphneDjangoworkerASGIHTTPredisDjangoworkerDjangoworker
DaphneDjangoworkerASGIHTTPredisDjangoworkerDjangoworkerDaphneHTTP
InterfaceServerWorkerserverASGIHTTPChannelLayerWorkerserverWorkerserverInterfaceServerHTTPASGIASGIASGIASGI
InterfaceServerConsumer(View)HTTPGETASGIhttp.requestInterfaceServerHTTPresponseASGIhttp.response!abcHTTP request handling
InterfaceServerConsumerWSsocketASGIwebsocket.receiveInterfaceServerWSsocket1ASGIwebsocket.send!abcWebSockets handlingInterfaceServerWSsocket2ASGIwebsocket.send!def
ViewConsumerASGIASGI jobqueue ConsumerConsumerASGIASGIBonus: task queueASGI
DEMO TIME!
That’s all, Folks!See also:Reinventing Django forthe Real-Time Webhttps://www.youtube.com/watch?v=2sEPipctTxw
Image credits:Darth Vader - https://www.pinterest.com/jaclynnpetersen/star-wars/Trabant - https://en.wikipedia.org/wiki/TrabantRube Goldberg Machine - https://en.wikipedia.org/wiki/Rube_Goldberg_machineMeditating Monk - https://www.flickr.com/photos/aigle_dore/24065839299Flying DeLorean - http://mugen.wikia.com/wiki/Delorean