To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
08:30
08:30
60min
Registration
Main hall
09:30
09:30
30min
Welcome Session

Welcome Session

Main hall
10:00
10:00
55min
Django needs you! (to do code review)
Sarah Boyce

Django needs your help. Every day, contributors submit pull requests and update existing PRs, but there aren't enough reviewers to keep up. Learn why Django needs more reviewers and how you can help get changes merged into core.

Main hall
10:55
10:55
30min
Coffee break
Main hall
11:30
11:30
30min
End-to-end testing Django applications using Pytest with Playwright
Jacob Rief

Web applications with a high degree of interoperability between the browser and the server can be difficult to test. This is especially true during full stack development. There, we usually don’t specify REST endpoints with a well declared interface. This is especially true when working with template partials (HTMX, django-unicorn, etc.). Testing the server and client part independently requires to mock these interfaces, which then becomes even more difficult and time consuming.

Main hall
11:30
90min
Hands On - Implementing Agentic AI Solutions in Django from scratch
Craig West

The use of AI and AI Agents in everyday Django can be viewed as AI as API where we can create on the Django side powerful agentic APIs.

If, for example, we have a SEARCH, HELP or FAQ section in our app, we can add AI components to leverage AI.

We will also look at frameworks that can offer convenience and increased functionality.

Finally, we cover how we can test and evaluate our LLM responses.

Workshops
12:05
12:05
30min
Turn back time: Converting integer fields to bigint using Django migrations at scale
Tim Bell

Do you have an IntegerField that should have been a BigIntegerField, but no time machine? Here's how we converted 32-bit integer fields to bigint on PostgreSQL at Kraken scale using Django migrations.

Main hall
12:40
12:40
30min
Data-Oriented Django Drei
Adam Johnson

Data-Oriented Design gives us principles for making fast, hardware-friendly software. This talk focuses on applying it to the data structures that most affect web application performance: database indexes.

Main hall
13:10
13:10
60min
Lunch break
Main hall
14:10
14:10
50min
How to measure and elevate quality in engineering practice
Daniele Procida

Some qualities are not values easily read off form the world, like a temperature or number. How do you measure, track, represent and drive engineering quality, without crudely reducing it to something it is not?

In my work in Canonical's Engineering Excellence organisation, I direct engineering practice at scale: the documentation efforts of dozens of teams in over a hundred software products. To do that I have had to find ways to measure quality of practice and outcome. I also had to persuade all those engineering teams to accept them, and work with them.

The methods and approaches I developed for documentation have been adopted for other engineering disciplines, such as security engineering practice. I'll share them in this workshop in the form of reusable tools that can similarly be adopted and adapted to other needs. At the heart of them is a maturity model that helps drive practice quality at scale, elevating standards, discipline and execution.

I'll work with attendees to turn these tools into tools for their own needs, in their own companies and organisations.

Workshops
14:10
30min
The fine print in Django release notes
Sebastian Rode

Do you make it to the end of the long list of changes each Django version brings? What goes through your head? Are you bored, lost, excited, or confused?

For us sometimes a seemingly plain sentence would trigger light bulb moments.

In this talk, we will present hidden gems from Django >= 5.0 together with the comparison of how the code would look with and without them.

Find beauty in the small things. It’s the small things that make up everything.

Main hall
14:45
14:45
30min
Django + HTMX: Patterns to Success
Lucas Pires

This talk will approach tried and tested patterns for building applications using Django and HTMX.
A broad set of topics covering all layers of a typical Django application will be covered to show how to maximize the effectiveness of building an application using the hypermedia driven approach.

Main hall
15:20
15:20
30min
How to solve a Python mystery
Aivars Kalvāns

Using Linux observability tools to learn what your Python application is doing.

Main hall
15:35
15:35
50min
Django Software Foundation Board Q&A
Tom Carrick, Thibaud Colas

Come and meet (some of) the board! We'll give an outline of what the board does, but mostly this is a great chance to ask us questions.

Workshops
15:55
15:55
30min
Bulletproof Data Pipelines: Django, Celery, and the Power of Idempotency
Ricardo Morato Rocha

Learn how to build resilient data pipelines with Django, Celery, and idempotent consumers. We'll dive into robust error-handling techniques and the role of idempotency in ensuring reliable and consistent data processing.

Main hall
16:25
16:25
30min
Coffee break
Main hall
17:00
17:00
30min
Logs, shells, caches and other strange words we use daily
Slawa Gladkov

Have you ever stopped to think about where the words we use in software engineering come from? Terms like “bug” and “debugging” are familiar to most of us, but what about “daemon” or “cache”? This talk takes a trip down memory lane to explore the surprising and often quirky origins of some of the most common words in computing. Discover how history, culture, and creativity shaped the language we use every day. Whether you’re just starting out in tech or have been in the field for years, there’s something here for everyone. With plenty of stories and illustrations to bring these terms to life, we’ll uncover the hidden history behind the words that define our work.

Main hall
17:35
17:35
45min
Lightning Talks

Lightning Talks

Main hall
08:00
08:00
50min
Annual meeting of DSF Members at DjangoCon Europe

Annual meeting of DSF Members at DjangoCon Europe
- 10min intros & presentation of current projects
- 10min discussion
- 15min 2025 projects
- 15min discussion

Workshops
08:30
08:30
30min
Registration
Main hall
09:00
09:00
15min
Welcome 2nd day

Welcome 2nd day

Main hall
09:15
09:15
55min
The Most Bizarre Software Bugs in History
Mia Bajić

Let's explore together the most bizarre software bugs in history!

Main hall
10:15
10:15
30min
How to get Foreign Keys horribly wrong in Django
Haki Benita

In this talk I present some lesser known gotchas and implicit behaviors of Foreign Keys in Django. We'll talk about what you need to pay attention to when defining FKs, how to change FKs without bringing your system to a halt and how to optimize for space, performance and heavy load.

Main hall
10:45
10:45
30min
Coffee break
Main hall
11:20
11:20
90min
Building an unique voting system in Django: is possible?
Jesús Escribano

Have you ever said, "Well, let’s just raise our hands, and the one with the most votes wins"? What if I told you that as the number of options grows, this might not be the fairest method? If you join the workshop, I’ll explain why with Django

Workshops
11:20
30min
How we make decisions in Django
Carlton Gibson

Django is an inclusive community. We seek to invite contributions, and aim for consensus in our decision making. As the project has grown — and as with all large open source projects — that's led to difficulties, as even simple proposals get drawn out into long discussions that suck time, energy, and enthusiasm from all. It's time we refreshed our approach. We're going to look at how we got here, what we need to maintain, and how we can move forwards towards a better process.

Main hall
11:55
11:55
30min
How to Enjoy Debugging in Production
Karen Tracey

While launch day is often anticipated as a satisfying completion to a project, the reality is often different. Real users in the production environment may test our code in unanticipated ways, leading to surprising bugs that need to be addressed, often under time pressure and with fewer debugging resources than we're used to having in our development environment. Come to our talk and learn how to enjoy debugging in production!

Main hall
12:30
12:30
30min
100 Million Parking Transactions Per Year with Django
Wouter Steenstra

For several Dutch municipalities, Django applications power the monitoring of both on-street and off-street parking transactions. What started as a straightforward tool for extracting data from parking facilities has evolved into a robust ETL platform with a feature-rich dashboard. This talk delves into how Django remains the backbone of our operations and why it continues to be the foundation of our business success.

Main hall
13:00
13:00
60min
Lunch break
Main hall
14:00
14:00
50min
Marimo and Jupyter: Sharing the joys of the Django ORM with Python Notebooks
Chris Adams

You have a Django application, and you've invested loads of time into carefuly modelling your domain in software. Sure you have might have a full blown web app that most users rely on, but wouldn't it be nice use that same ORM and domain model to have data-informed conversations about your work with other people in your organisation who might not be python devs?

Find out how with by using Marimo and Django to make versatile, pythonic, lightweight notebooks, based on lessons from real world use of python notebooks and django projects in the real world.

Workshops
14:00
30min
One more time about µDjango. The next step in the evolution of asynchronous microservices technology.
Maxim Danilov

A standard Django project involves working with multiple files and folders from the start. Let's see how the work with a Django project when we have only one file in project. This solution automatically transforms Django into a microservice-oriented async framework with "batteries included” philosophy.

Main hall
14:35
14:35
30min
Supporting Adult Career Switchers: The Unbootcamp Method
Mykalin

Learning new skills as an adult can be tricky. Boot camps and courses can be helpful, but many still struggle to land a job. This talk will go over ways to support adults looking for a new career with Python and the results of an unconventional group class setup I’ve been experimenting with.

Main hall
15:10
15:10
30min
Zango: Accelerating Business App Development with an Opinionated Django Meta-Framework
Bhuvnesh Sharma

This talk will be about Zango: An opinionated Django meta-framework that supercharges business application development. Built for teams who need the flexibility of Django with batteries-included security, compliance, and workflows—without the overhead of building everything from scratch. Zango is completely Free and Open-source framework with no vendor lock-in.
I will also be getting into the internals of zango, how we achieved multi-tenancy and isolation of multiple apps at both the code and the database level.

Main hall
15:25
15:25
50min
Getting Knowledge from Django Hits: Using Grafana and Prometheus
Apoorv Garg

Have you ever lost a weekend on endless ON-CALLS? Learn how Prometheus & Grafana with Django can save the day! This workshop dives into real-world use cases for smarter debugging, contextual root cause analysis, and actionable insights—cut through 100k+ logs with better metrics & visualisation.

Workshops
15:45
15:45
30min
Dynamic models without dynamic models
Jacob Walls

If your users are data modelers themselves, your underlying data model might be extremely generic. What if you still want a model-like interface shaped like those user-defined schemas? This is the story of subclassing QuerySets and REST Framework functionality to produce something a lot like dynamic Django models, only with souped-up annotations supporting creates, updates, and deletes.

Main hall
16:15
16:15
30min
Coffee break
Main hall
16:45
16:45
30min
Passkeys in Django: the best of all possible worlds
Tom Carrick

Secure, accessible, usable — pick any three.

Why compromise when you can have it all? I'll show how easy it is to integrate support for passkeys (Face ID, fingerprint scans, etc.) into your Django app in almost no time at all.

Main hall
17:15
17:15
15min
Steering Council introduction
Emma Delescolle, -

What is the Django Steering Council and what is the agenda of the 6.x steering council.

How are we looking at the future of Django and what is on the agenda to make that happen?

And, maybe most importantly, what have we done so far.

Main hall
17:30
17:30
45min
Lightning Talks

Lightning Talks

Main hall
08:30
08:30
30min
Registration
Main hall
09:00
09:00
15min
Welcome 3rd day

Welcome 3rd day

Main hall
09:15
09:15
55min
Django for Data Science: Deploying Machine Learning Models with Django
William Vincent

Learn how to train your own ML model and publicly share it using Django.

Main hall
10:15
10:15
30min
The incredible Djangonaut Space project
Paolo Melchiorre

In this talk we will see what the Djangonaut Space program is up close, understand its goal and its innovative strength. Analyzing it from the internal point of view, but also from that of its participants, in the hope of inspiring other people to participate.

Main hall
10:45
10:45
30min
Coffee break
Main hall
11:15
11:15
30min
Evolving Django: What We Learned by Integrating MongoDB
Anaiya Raisinghani

At MongoDB, we have several Django enthusiasts who have jumped at the idea of backing a long-term solution to combining MongoDB and Django. Having historically provided support for SQL-based open source frameworks like Entity Framework in .NET/C#, Doctrine in PHP, and many more, we are familiar with the territory.
We're happy to say we've successfully created a MongoDB Backend Library for Django and want to share all that we've learned kitting out a new NoSQL backend for a traditionally SQL framework including how we believe we have influenced -- and will continue to influence -- changes in the core Django library.

Main hall
11:15
70min
Live Recording of The Real Python Podcast
Christopher Trudeau, Christopher Bailey

A live recording of a "The Real Python Podcast" episode with audience participation.

Workshops
11:50
11:50
30min
Feature Flags: Deploy to some of the people all of the time, and all of the people some of the time!
Graham Knapp

Feature flags activate features for some users whilst hide them for others. They help you deploy code more often, work more collaboratively, get early feedback from colleagues and customers and separate deployment from feature activation.

Main hall
12:25
12:25
30min
Just-in-Time Development with Django and HTMX: Faster, Leaner, and Smarter
Thomas De Bonnet

Learn how Just-in-Time development with Django & HTMX can make your apps faster and more efficient! Fetch only what users need, when they need it—like loading dropdown data on hover or filling a modal when opened. Boost performance, save resources, and enhance UX!

Main hall
13:00
13:00
60min
Lunch break
Main hall
14:00
14:00
30min
Anatomy of a Database Operation
Karen Jex

What happens behind the scenes when you send a query to your database? How is the data stored, retrieved and modified? Why should you care?

With a basic understanding of the way select, insert and update operations work, you can make sure your code and database play nicely together!

Main hall
14:00
50min
Build a static website with Django!
Emma Delescolle

Ever wanted to build a website with Django but don't want to maintain a full deployment of a dynamic site? Come with us!

Also come if you are interested in minimal Django deployments and plugin systems!

Workshops
14:35
14:35
30min
One Thousand and One Django Sites
Vince Salvino

Told in the storybook style of "One Thousand and One Nights" (a.k.a. "Arabian Nights") this talk will feature real-world stories about strategies and challenges we have encountered along our journey of hosting over 1,000 Django/Wagtail sites.

Main hall
15:10
15:10
30min
Europe, Django and two-factor authentication
Agnès Haasser

Let me show you why you should consider adding 2FA to your Django app, and how (quickly and easily) you can do it.

Main hall
15:40
15:40
30min
Coffee break
Main hall
16:10
16:10
30min
Django Admin at Scale: From Milliseconds to Microseconds 🚀
Sumit Singh

Is your Django Admin crawling with millions of records? Join me in exploring battle-tested optimization techniques that transform Django Admin from sluggish to lightning-fast. From smart queries to caching strategies, you'll learn practical solutions to scale your admin interface while keeping it user-friendly. Performance isn't just a feature—it's a necessity!

Main hall
16:45
16:45
45min
Lightning Talks

Lightning Talks

Main hall
17:30
17:30
15min
Closing session

Closing session

Main hall