Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Django: one ORM to rule all databases 💍
Comparing the Django ORM support across official database backends, so you don’t have to learn it the hard way. -
My DjangoCon US 2025
A summary of my experience at DjangoCon US 2025 told through the posts I published on Mastodon during the conference. -
Resurrecting the Original Django Book
The original DjangoBook is now online again at DjangoBook.com -
Django News - Wagtail Space 2025 - Oct 3rd 2025
News Django security releases issued: 5.2.7, 5.1.13, and 4.2.25 Django patches high-severity SQL injection and low-severity directory traversal vulnerabilities across QuerySet methods and archive extraction in security updates for Django 5.2, 5.1, and 4.2. djangoproject.com Keyboard shortcuts in Django via GSoC 2025 Somehow we missed including this earlier in September, but it's a lovely writeup of a Google Summer of Code project to add keyboard shortcuts to the admin interface. djangoproject.com Phishing attacks with new domains likely to continue A new phishing campaign targeting PyPI users using similar tactics to previous campaigns. pypi.org Welcome to Session 5 Teams Session 5 launches with six teams of contributors advancing projects across the Django ecosystem, including Django, djangoCMS, Wagtail, Django Debug Toolbar, and Django Packages. djangonaut.space Updates to Django Today 'Updates to Django' is presented by Pradhvan from Djangonaut Space!🚀 Last week we had 20 pull requests merged into Django by 13 different contributors - including 3 first-time contributors! Congratulations to prepa24, Samriddh Tripathi, and Ruhm for having their first commits merged into Django - welcome on board! 🎉 This week's Django highlights 🌟 QuerySet.in_bulk() now works after .values() or .values_list(), making it easier to fetch dictionary mappings from filtered querysets without needing … -
Django Fellow - Jacob Walls
🔗 LinksJacob’s websiteDjango 6.0 Release NotesWhat skills does SWE-bench Verified evaluate?Django on the Me📦 Projectsdjango-watchfilesdjango-admin-keyshortcutsdjango-sql-migrate-deux📚 BooksSoftware Design by Example - Greg WilsonAmerica Day by Day - Simone de BeauvoirThe Hunting Gun - Yashushi Inoue🎥 YouTubeYouTube Channel: @djangochatSponsorThis episode was brought to you by HackSoft, your development partner beyond code. From custom software development to consulting, team augmentation, or opening an office in Bulgaria, they’re ready to take your Django project to the next level! -
I Miss Tabs vs Spaces... And Other AI Musings
A written guide to my DjangoCon US talk on deploying machine learning models with Django. -
Doing community for the long haul
For some reason I have been putting off writing this one, perhaps because it feels vunerable to me in this (public) context of my life. That said I am pushing through as I think there is some interesting content and idea's to be had below. The content below started to form in my head from some questions posed by Tim Schilling in the Djangonaut Space Discord space. Session 5 has just started which is great, but his question was what to do around those that don't get selected? My initial response to this was maybe something along the lines of mastermind groups that are fairly common in other communities, for me I have seen it within founder circles where those at a similar level come together to help each other out. What's key for both Djangonaut Space and mastermind's is that they are small groups. Carlton highlighted small groups in his DjangoCon Europe talk this year, especially in regards to trusting others. I have seen this with Moderators and Helpers in the Discord server, the smaller space allows for increased trust, which in turn allows for other conversations to happen that are not purely about Django, they are about our … -
Per-object Permissions for Elasticsearch Lists in Django Websites
The Challenge Elasticsearch improves the performance of filterable and searchable list views, reducing load times from several seconds to about half a second. It stores list view details from various relations denormalized in a JSON-like structure. In the Django-based system I’ve been working on, we use django-guardian to set per-object permissions for users or roles managing various items. This means you not only need to check whether a user has general permission to view, change, or delete a type of object, but also whether they have permission to access specific objects. A major challenge arises when using Elasticsearch for authorized views based on user permissions – how can we check permissions without slowing down the listing too much? Things We Considered Here are a few options I compared: Check all object UUIDs the user can access via django-guardian, then pass those UUIDs to the Elasticsearch search query. This might work with fewer than 100 items, but it doesn’t scale. Filter the Elasticsearch list first, and then check each item’s UUID against user permissions. With thousands of search results, permission checks become too slow. If I check permissions only for the first page, pagination data becomes inaccurate. Create a user-permission Elasticsearch … -
Django News - django.tasks exists - Sep 26th 2025
News Django Fellow Sarah Boyce - Maternity leave announcement At the end of this month, Sarah will be stepping away from her role as Django Fellow for some time while out on maternity leave. djangoproject.com PostgreSQL 18 Released! PostgreSQL 18 delivers major performance and usability improvements, including a new asynchronous I/O system with up to 3× faster reads, less disruptive major version upgrades, and smarter indexing and query optimizations. postgresql.org Nanodjango.dev is live! A dedicated website for the nanodjango project that puts full Django in a single file. Automatically convert it to a full project. nanodjango.dev Updates to Django Today, "Updates to Django" is presented by Raffaella from Djangonaut Space ! 🚀 Last week we had 28 pull requests merged into Django by 19 different contributors - including 5 first-time contributors! Congratulations to jrsenthil-kumar2312, Saksham Jain, Caitlin B, 윤수진, and DaniF for having their first commits merged into Django - welcome on board! News for 6.0: Django now includes a built-in Tasks framework for running code outside the HTTP request–response cycle. (ticket: 35859 ) The new Lexeme <django.contrib.postgres.search.Lexeme> expression for full text search provides fine-grained control over search terms. News for 6.1: The class django.contrib.contenttypes.fields.GenericForeignKey now uses a separate descriptor … -
Django: Introducing django-watchfiles, for more efficient runserver autoreloading
Django’s runserver automatically reloads when you change Python files. Without this autoreloading feature, you’d need to manually restart the server every time you made a code change. However, the default autoreloading implementation is inefficient, as it constantly polls the filesystem for changes. The alternative to polling is to use your operating system’s file watching APIs, which can efficiently notify the server when files change. Using this technique saves CPU and power, while making reloads faster and more reliable—all in all, a big win! But since these APIs are OS-specific, it’s best for Django to use a cross-platform library that wraps them. Django provides an integration with Facebook’s Watchman, which works as a file watching server. While I appreciate this integration, it does require installing, running, and maintaining an extra tool (Watchman itself). Additionally, the Python client library for Watchman, pywatchman, seems to be rather unmaintained. Most notably, it was broken on Python 3.10, and the fix was not released for 2.5 years, after Python 3.12 was released. I promoted the Watchman integration on this blog and in the first version of Boost Your Django DX, which came out just after Python 3.10 was released. But since pywatchman was broken, my … -
Django News - Django 6.0 Feature Freeze - Sep 19th 2025
News Django 6.0 alpha 1 released The Django 6.0 feature freeze is upon us. This is a chance to try it out now and report any bugs or issues before the public release in December. djangoproject.com Nominate a Djangonaut for the 2025 Malcolm Tredinnick Memorial Prize Nominations for the annual Malcolm Tredinnick Memorial Prize are now open. Malcolm was an early core contributor to Django and had a huge influence on Django as we know it today. Besides being knowledgeable he was also especially friendly to new users and contributors. He exemplified what it means to be an amazing Open Source contributor. djangoproject.com A former Djangonaut is called a Star! Hear directly from Stars, mentors, and others in the Djangonaut Space community as they share their experiences and perspectives. djangonaut.space DjangoCon US: Call for Venue Proposals 2027-28 We’re wrapping up DjangoCon US 2025, so it’s time to think about 2027 and possibly 28! DjangoCon US 2026 is tentatively planning to return to Chicago. Where will we be the following year or two? We need your help in making that decision! defna.org Announcing the 2025 PSF Board Election Results! Congratulations to the two new and two returning Board members who have … -
Don't Let Search Take You Down
Twice in the last few months we’ve had to deal with Django production site issues caused by inefficient search queries. -
Mercurial Mirror For Django 6.0 Branch
I usually create a new mirror when Django releases a Beta, but it will happen sooner this time : the 6.0 alpha 1 was just released, and I’ve set up the mirror for 6.0. For the record, those mirrors are read-only, and aimed at production (aka “I want an easy way to update Django on […] -
DjangoCon US 2025 Recap
🔗 LinksDjango on the MeDjango for AI talk notesDjangoCon US 2025 Recap:Talk Python: Django’s 20th Birthday Paneluv Livestream with Michael KennedyDjango Roadmap Session January 2024📦 ProjectsNanodjangoDj-liteDjango Formset📚 BooksEmpire of AI by Karen HaoRefactoring to Rust by Lily Mara & Joel Holmes🎥 YouTubeYouTube Channel: @djangochatSponsorThis episode was brought to you by HackSoft, your development partner beyond code. From custom software development to consulting, team augmentation, or opening an office in Bulgaria, they’re ready to take your Django project to the next level! -
Full text search with Django and SQLite
One thing I wanted to add to this blog for a long time was full text search. Content is steadily increasing and sometimes I have a hard time finding the exact right post to link to when writing a new post. My wife was also complaining that she could never find the post about backups for artists when she wanted to link it. So what a better way to spend a few hours of my vacation than to add full text search functionality. Usually when adding search to a system people eye ElasticSearch. A monstrosity I had my fair share of "fun" with and something I do not want to touch if I can avoid it. Avid Postgres users might lean on PostgreSQLs excellent full text search and vectorisation options. This blog is running on Django and SQLite and there is no chance I would add either of these two to the stack for "just a blog". SQLite has an extension for full text search. Technically multiple, but we are using FTS5. Per documentation we need a virtual table and fill it with our data. For the table we add the title of the post and its raw content. A … -
uv Livestream with Michael Kennedy
An in-depth look at the uv package manager, why it is so popular, and how to use it today. -
DjangoCon US 2025 Recap
Thoughts on a fun week in Chicago, favorite talks, sprints, and more. -
Django views versus the Zen of Python
A while ago, I wrote about how I write Django views, arguing that the base View class hits the sweet spot between the simplicity of function-based views and the often-overwhelming complexity of generic class-based views. The response to that article made it clear that I’m not alone in this thinking. It got me wondering: why does this approach feel so right? The answer, I believe, lies in the guiding principles of Python itself. The Zen of Python isn’t just a collection of clever aphorisms; it’s a framework for writing clear, maintainable, and effective code. When we look at Django’s view layer through this lens, it becomes apparent where things start to go astray. Here are all the ways that Django’s views (especially the generic class-based kind) break the Zen of Python. “There should be one - and preferably only one - obvious way to do it.” Python developers cherish this principle. It promotes consistency and readability. Yet, when it comes to something as fundamental as rendering “Hello, world!” in Django, the options are dizzying. Just look at the many ways to accomplish this simple task: The simple function: from django.http import HttpResponse def hello_world(request): return HttpResponse("Hello, world!") The base View … -
LLMs are making me a better programmer...
LLMs are making me a better programmer… I’m still undecided about LLMs for programming. Sometimes they are very useful, especially when working on a clearly stated problem within a delimited area. Cleaning the code up afterwards is painful and takes a long time though. Even for small changes I’m unsure if using LLMs is a way to save (any) resources, be it time, water, energy or whatever. They do help me get started, and help me be more ambitious. That’s not a new idea. Simon Willison wrote a post about this in 2023 and the more I think about it or work with AI the more I think it’s a good way to look at it. A recent example which comes to mind is writing end to end tests. I can’t say I had a love-hate relationship with end to end testing, it was mostly a hate-hate relationship. I hate writing them because it’s so tedious and I hate debugging them because of all the timing issues and the general flakyness of end to end testing. And I especially hate the fact that those tests break all the time when changing the code, even when changes are mostly unrelated. When … -
Django News - Djangonaut Space 2025 Session 5 - Sep 12th 2025
News Djangonaut Space 2025 Session 5 Applications Applications are open until September 14 end of day. This is your last chance to apply if interested! djangonaut.space Getting Started With Open Source Through Community Events Django community events empower developers to gain practical open source contribution experience via office hours, sprints, testathons, and live PR review sessions boosting personal growth. djangoproject.com DjangoCon US: Call for Venue Proposals 2027-28 So you want your city to host DjangoCon US? Hurrah! We’re delighted by your interest. Here’s what you need to know, and what we need to know, to consider your proposal. defna.org Django Software Foundation DSF at EuroPython 2025: Celebrating 20 years of Django EuroPython 2025 featured DSF's vibrant booth and collaborative sprints to commemorate Django's 20th anniversary, uniting contributors and strengthening community ties. djangoproject.com Updates to Django Today, "Updates to Django" is presented by Raffaella from Djangonaut Space! 🚀 Last week we had 12 pull requests merged into Django by 11 different contributors - including 1 first-time contributor! Congratulations to Ronan LE HAY for having their first commits merged into Django - welcome on board! In Django 6.0, the DEFAULT_AUTO_FIELD setting now defaults to BigAutoField, completing the transition that began in Django … -
Django for AI: My DjangoCon US 2025 Conference Talk
A written guide to my DjangoCon US talk on deploying machine learning models with Django. -
Weeknotes (2025 week 37)
Weeknotes (2025 week 37) I’m having a slow week after the last wisdom tooth extraction. Finally! I’m slowly recuperating from that. Also, I’m trying to split up the blog posts a bit and writing more standalone pieces instead of putting everything into weeknotes. This seems like a good idea to publish more, and should also help me when I try to find a particular piece of writing later. Releases django-content-editor 8.0.2: I fixed the ordering calculation in the cloning functionality; the tests are a bit too forgiving for my taste now but I just can’t figure out why the gap for inserting cloned items is sometimes larger than it should be. It doesn’t matter though, since ordering values do not have any significance, they only have to provide a definite ordering for content items. django-prose-editor 0.18.2: Cleaned up the documentation after the 0.18 cleanup (where automatic dependency management has been removed), fixed table styles when using dark mode. -
Proposal: django.contrib.beginners
A few weeks back I wrote about a suggestion for a new warning in regard to makemigrations, which got some feedback on the fediverse some was positive, others a bit crictial of the other warning I was recently responsible for in 5.2. Anyway one suggestion from Carlton in that thread was interesting, the idea of app for beginners. It also reminded me of a conversation I had with Thibaud last year where he made a comment that with Wagtail features & changes, they try to consider the potential infinite future developers of the software over the fixed number of past developers that have already used Wagtail. So having a place where we prioritise future users and developers over the existing backward compatibility conerns is an interesting one to me. The idea is simply to put all of these beginner style warnings in to an app specifically for beginners. This easily contains the extra code into a couple of lines of configuration (as much configuration as any other third-party package). This could be a simple thing that then tutorials/books could recommend, it could possibly make it's way into a starter template for Django itself (perhaps when DEP 15 is implemented). The … -
Django News - Last call for DjangoCon US 2025 tickets! - Sep 5th 2025
News 🎟️ Last call for DjangoCon US 2025 tickets! DjangoCon US kicks off this Monday, September 8th - 12th in Chicago, IL USA. Online tickets are still on sale! If you are attending this year, Will, Jeff, and Catherine from this newsletter will be there. Say hello in person or virtually. Online tickets are only $99 USD and include three days and over 50 talks! djangoproject.com Django security releases issued: 5.2.6, 5.1.12, and 4.2.24 Django releases critical security patches in versions 5.2.6, 5.1.12, and 4.2.24, addressing high-severity SQL injection vulnerabilities in FilteredRelation column aliases via dictionary expansion. djangoproject.com Keyboard shortcuts in Django via GSoC 2025 GSoC 2025 delivers django-admin-keyshortcuts, a package that improves Django admin navigation and accessibility with customizable keyboard shortcuts, aiming for eventual inclusion in Django core. djangoproject.com Django MongoDB Backend Now Generally Available The new Django MongoDB Backend provides production-ready integration, enabling Django ORM, admin, and DRF usage with MongoDB Atlas features for scalable, flexible deployments. mongodb.com Python Type System and Tooling Survey 2025 Python Type System and Tooling Survey 2025 gathers insights on type hint practices, challenges and tooling usage to enhance static typing integration in Django projects. google.com Django Software Foundation DSF member of the … -
How to Make the Most out of DjangoCon US 2025
Tips on having the best conference experience.