Learn Python with Talk Python's 270 hours of courses

Django Trends in 2023

Episode #428, published Tue, Aug 29, 2023, recorded Wed, Jul 26, 2023

Have you heard of Django? It's this little web framework that, well, kicked off much of Python's significance in the web space back in 2005. And that makes Django officially an adult. That's right, Django is now 18. And Django continues to lead the way on how community should be done for individual projects such as web frameworks. We have Carlton Gibson and Will Vincent back on the show this episode to discuss a bit of the Django history, Django trends in 2023, a little HTMX + Django, and lots more.

Watch this episode on YouTube
Play on YouTube
Watch the live stream version

Episode Deep Dive

Guests Introduction and Background

Will Vincent Will is the author of multiple Django books, including Django for Beginners, runs learndjango.com, publishes the weekly Django News newsletter, and recently completed a three-year term on the Django Software Foundation board. He’s deeply involved in helping Django learners and advancing the community.

Carlton Gibson Carlton served as a Django Fellow for five years, contracting with the Django Software Foundation to maintain the framework’s core. He has contributed to many key Django ecosystem libraries (Django REST Framework, Django Filter, Channels, etc.). Having stepped down as Fellow, he’s now returning to building projects with Django, including his Button deployment tool at btn.dev.


What to Know If You're New to Python

Here are a few essentials mentioned during the episode to help you follow along:

  1. Basic Python Templating: Understanding how Python web frameworks handle HTML templates (variables, loops, conditionals) will help you see why Django’s templating is so powerful.
  2. Django’s Structure: Familiarize yourself with the concept of “apps” and “projects” in Django before diving deeper.
  3. HTMX: Know that adding interactivity with minimal JavaScript is possible via this library, which works well with Django’s server-rendered pages.
  4. Deployment Basics: A big topic here is going from local development to production. Be prepared to learn about servers, hosting, environment variables, and security settings.

Key Points and Takeaways

1. Django’s Ongoing Evolution: 18 Years Old and Still Growing

Despite its age, Django continues to innovate. The conversation highlights how Django kicked off major Python web adoption in 2005, and it has matured into a stable yet rapidly evolving framework. Core developments like async features, database default support, and the LTS (Long-Term Support) schedule show that Django is anything but stale.

2. HTMX + Django: A Powerful Combination

HTMX lets you add dynamic, interactive features without writing a full client-side framework. The guests noted how HTMX attributes on HTML tags align perfectly with Django’s server-side rendering, making for lean code and fast user experiences.

3. Keeping Deployment Simple (aka No Need for Kubernetes Every Time)

Many developers over-engineer their stack early on. The conversation emphasized that a single server or minimal architecture can handle substantial traffic. Carlton’s project, Button, aims to simplify Django deployment by automating best practices on top of services like AWS.

4. Async in Django: Streaming, SSE, and Beyond

The latest releases of Django bring in deeper async features, including streaming responses and the ability to do server-sent events without blocking. Django 5.0 looks to add async signals and more native support for long-lived connections.

5. New Database Features: Defaults, Constraints, Cascades

Django 4.2 introduced database comments, and Django 5.0 is slated to add database defaults and cascade behaviors. This is especially valuable for teams that rely on the database for primary data integrity. Even after 18 years, Django’s ORM is expanding significantly.

6. The Django Community: Boards, Fellows, and Conferences

Both guests praised the community-driven nature of Django. The DSF hires Fellows to oversee ticket triage and quality control. DjangoCon sprints, weekly newsletters like Django News, and local meetups all help maintain a thriving ecosystem.

7. Django’s Approach to Frontend Interactivity

Beyond HTMX, the discussion touched on how Django’s conservative, stable templating system intentionally remains simple. This simplicity opens the door to layering in new tools like Alpine.js or partial templates without rewriting the framework itself.

8. Contributing to Django: Sprints and Tickets

Even though Django is mature, there are always open tickets. The guests encouraged newcomers to join sprints at DjangoCon or dig into specific tickets, becoming an “expert” on that one issue and helping to shape the framework.

9. Balancing Teaching and Consulting

Will spoke about the importance of staying hands-on with coding while teaching. That practical experience helps ensure accurate, updated advice in his Django books and tutorials. Carlton echoed the need for real-world coding to keep any dev’s perspective fresh.


Interesting Quotes and Stories

  • On Keeping Code Local: “I was so in the zone with HTMX that I forgot you can just do a normal form submission for a full page load.” — Carlton, emphasizing how a simple built-in browser behavior is sometimes all you need.
  • On Django’s Ongoing Relevance: “Every day we see new commits merged… I haven’t felt bored because new features appear constantly.” — Will, sharing how Django still surprises him even after a decade.

Key Definitions and Terms

  • HTMX: A lightweight library that lets you create dynamic, AJAX-like functionality by adding custom attributes in HTML, avoiding heavy JavaScript frameworks.
  • Server-Sent Events (SSE): A mechanism that allows a server to push events (usually text data) to clients over an HTTP connection, useful for real-time updates.
  • Database Defaults: A feature allowing the database itself (not just the application code) to set default values on columns, ensuring consistency across multiple data entry points.
  • Django Fellow: A developer or group of developers contracted by the Django Software Foundation to manage core maintenance, triage, and releases.

Learning Resources

Here are some additional resources to grow your Django and Python skills more deeply.


Overall Takeaway

Django, now an “adult” at 18, remains forward-looking thanks to dedicated contributors and a supportive community. From HTMX-driven frontend interactivity to asynchronous features and new database capabilities, Django continues to evolve without losing its signature stability. Will and Carlton underscore how approachable and powerful Django is for building modern, production-grade sites—proving that “older” technology can still lead the way when guided by a vibrant community and thoughtful design.

Links from the show

Guests
Will Vincent: wsvincent.com
Carlton Gibson: @carlton@fosstodon.org

Button.dev: btn.dev
Learn Django: learndjango.com
Django News: django-news.com
Yak-Shaving to Where the Puck is Going to Be Talk: youtube.com
Open Source for the Long Haul: fosstodon.org
Django 4.2: docs.djangoproject.com
Django 5: docs.djangoproject.com
Environs: github.com
Neapolitan: github.com
Django Template Paritals: github.com
Jinja Partials: github.com
Django Chat Podcast: djangochat.com
Locality of Behavior Essay: htmx.org
HTMX: htmx.org
You're Fullstack Now Meme: twitter.com
Deployment Checklist: docs.djangoproject.com
Django-HTMX: github.com
Django @Instagram DjangoChat: djangochat.com
Talk Python HTMX Course: talkpython.fm
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm

--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy

Talk Python's Mastodon Michael Kennedy's Mastodon