May 28, 2026

Lunch Talk Series: Async Django: The practical guide you’ve been awaiting for

This iteration of the Lunch Talk Series will be covering Carlton Gibson’s awaited DjangoCon Europe talk, “Async Django: The practical guide you’ve been awaiting for”.

You should watch this if:

  • You’re getting started with async Django applications.
  • You’re curious about Django Channels.
  • You’re interested in learning about async web application approaches like WebSockets and Server Sent Events.

Covers a lot of things. The sync example packs in a lot of excellent tools to make things easier. DRF, django filters and htmx. Inline with the times, the async side is more barebones. The examples show effectively pure Django and django channels.

Carlton explains what the various options for responsive, interactive sites:

  • polling
  • long polling
  • server sent events
  • websockets

He goes through how to set up them up and introduces the challenges of each. It’s impressive how django channels generally supports this by allowing you to swap out a base class to support each of these.

Perhaps the most important part of the talk is at the 38:41 mark where Carlton starts discussing “Getting it online”. While the landscape has changed and it’s less the wild west that Carlton describes it as. Carlton lists off all the various concerns (see below) that you need to consider to truly evaluate an option, as well as to maintain it. The undercurrent here is that async is hard because the assumptions we can make in sync aren’t valid. Once you keep a connection open for that responsiveness, a smorgasbord of additional exception cases need to be considered to keep an application upright and scalable.

I found Carlton’s list excellent so here it is again!

  • Number of connections
  • Load balancer integration
  • Idle connections
  • Noisy connections
  • Connection duration
  • Test your configuration
  • Connection heartbeats
  • Having fun