Django
Articles about Django development, best practices, and the Django ecosystem.
Preparing for conference sprints
Sprints are a valuable event at conferences, for you, the project, and the broader community. This post helps you prepare to get the most out of them.
January 14, 2026
Connecting with Django contributors on Mastodon
It's easier to contribute to open-source if you connect with people. This post dives into where to do that to connect with the Django community.
November 26, 2025
Updated tutorial: A Djangonaut's Debugging Toolkit
I've updated my debugging tutorial. It's a self-guided tutorial to learn about a Djangonaut's debugging toolkit.
November 03, 2025
Playwright & pytest techniques that bring me joy
Give it a read! Maybe these six techniques will bring you joy too. You can't go wrong with being able to write better tests, faster.
September 17, 2025
DjangoCon Africa 2025 recap
A recap of my fantastic DjangoCon Africa, UbuCon Africa 2025 experience. It was the first time I travelled to Africa, keynoted a conference and went on a safari.
August 25, 2025
Third-party packages in Django's documentation
A quick post on why we should include references to third-party packages in Django's documentation. Mainly, we've already solved curation and developers are doing to develop!
July 09, 2025
Django Commons a year later
Revisiting the state of Django Commons a year after I published a call for help.
May 21, 2025
Towards Better Mentorship: The Small Group Approach
A discussion about how small meetups could help us bridge the mentorship gap and how we can put them into practice today.
May 17, 2025
Talks I want to see at DjangoCon US 2025
A list of talks that I'm personally interested in seeing at DjangoCon US 2025.
April 02, 2025
Removing Model bases from migration state
When removing multi-table inheritance in Django, you need to remove your Model's bases from the migration's model state. This post goes into detail on when this comes up and how to resolve it.
March 19, 2025
Django 5.2 simple_block_tag with HTMX
Exploring some new hotness from Django 5.2 that makes HTMX integrations more robust.
January 29, 2025
Testing your Python package releases
I discovered that the release process for the Django Debug Toolbar wasn't as robust as I thought.
January 15, 2025
Complex Django filters with Subquery
An overview on how to do complex filtering in Django with Subquery.
January 01, 2025
Getting Started Contributing to Django
A collection of resources to help you get started contributing to Django.
December 25, 2024
Steering Council 6.x Thoughts
Inside are ideas on things the Steering Council I would like to attempt if elected next term.
November 20, 2024
DSF initiatives I'd like to see
Following Sarah Boyce's lead, here's my list of DSF initiatives I'd like to see for 2024.
October 13, 2024
On the importance of DjangoCons
A deeper dive into why DjangoCons are important to the Django community and how it could be more accurately reflected.
October 04, 2024
Putting Linux Mint on a 2012 MacBook Pro
A quick and fun review of my effort to install a new OS.
October 03, 2024
Revisiting Django Built to Last
A revisit on Community and Reliability within Django
September 26, 2024
Creating rows for django-tables2 with HTMX
An explanation of how to use django-tables2, HTMX, Alpine and Bootstrap to render a table with a form to create new rows.
August 17, 2024
Reducing downtime in Django with django-safemigrate
A thorough description of why downtime occurs during Django deployments and how to reduce it with django-safemigrate.
July 22, 2024
Django Commons - A home for community-maintained Django packages
A community run GitHub organization to support community-maintained third-party Django packages.
May 22, 2024
Djangonaut Space 2024 Session 1 Midway Review
My recap of my experiences during the first half of Djangonaut Space Session 1.
February 15, 2024
Informal Django Roadmap Ideas for 2024
My ideas for what Django could attempt in 2024 and beyond.
January 25, 2024
Redirecting With POST Requests
An explanation of how to replace 300 redirects with a POST requests.
January 22, 2024
The Fanout Pattern Explained
A brief overview of the fanout pattern that's commonly used in Celery.
December 06, 2023
Debugging CSRF Failed / 403 Forbidden errors in Django
A guided deep dive into Django's source code to understand why your application is failing CSRF validation.
November 04, 2023
RegisterFields in Django
An explanation of a Django model field that returns an instance of a class depending on a key.
October 03, 2023
Descriptive Django Admin Search
If you have people using the Django admin without knowing the code you can make their life easier by showing the fields that are actually being searched.
August 18, 2023
Professional Djangonaut skills
A brief description of various skills, experiences and technologies I feel that a professional Djangonaut has.
August 18, 2023
Django migrations and your database
This is my attempt to help clear up confusion about Django migrations and your database.
June 03, 2023
Send your people to DjangoCon
One Djangonaut's opinion on why companies should send their employees to DjangoCon.
April 21, 2023
Filtering rows every 5 days with the Django ORM
An explanation on how to filter data with a periodic date in Django.
April 05, 2023
Django Built to Last
A reflection on Django and our community in the context of the book 'Built to Last' by Jim Collins and Jerry I. Porras.
March 30, 2023