17 Apr 2026
Django community aggregator: Community blog posts
Django News - 30% Off PyCharm Pro – 100% for Django - Apr 17th 2026
Introduction
Django News Newsletter is moving!
Just a quick heads up. We're planning to move our newsletter to a new platform next week.
If things look a little different when it shows up, it's still us.
Django Newsletter
News
PyCharm & Django annual fundraiser
JetBrains and the Django Software Foundation team up again to offer 30% off PyCharm while matching donations to fund Django's core development and community programs.
New Technical Governance - request for community feedback
Django proposes a simpler, more flexible technical governance model and is inviting community feedback ahead of a planned July 2026 rollout.
Could you host DjangoCon Europe 2027? Call for organizers
DjangoCon Europe 2026 is happening right now in Athens, Greece but plans for 2027 have already begun. This post lays out all the resources for any questions, support, and more for future organizers.
Reverting the incremental GC in Python 3.14 and 3.15 - Core Development
Python is rolling back its new incremental garbage collector in 3.14 and 3.15 after real-world memory issues, reverting to the proven generational model while rethinking a future reintroduction.
PEP 772: Packaging Council governance process (Round 3) - Packaging / Coordination
PEP 772 has officially been approved, creating a new Python Packaging Council to guide the future of packaging standards, tools, and ecosystem governance.
Django Software Foundation
Django Has Adopted Contributor Covenant 3
The 3.0 edition of the new Code of Conduct is here! This milestone represents the completion of a careful, community-driven process that began earlier this year.
DSF Board monthly meeting, April 9, 2026
The Django Software Foundation approved a modernized Code of Conduct, new working group charters, and key community initiatives, signaling a fresh push toward clearer governance and sustained project growth.
Python Software Foundation
PyCon US 2026: Why we're asking you to think about your hotel reservation
For many years, PyCon US has relied on hotel booking commissions to help pay for conference space. If you are attending this year, please use an official hotel to be both close to the venue.
Python Software Foundation News: Reflecting on Five Years as the PSF's First CPython Developer in Residence
Łukasz Langa looks back on five years and highlights including the transition to GitHub issues from bugs.python.org, the replacement of the mostly manual CLA process with an automated system, the introduction of free threading to Python, and the replacement of the interactive shell in the interpreter. Also while addressing thousands of bugs, he's witnessed the full-time paid developer in residence roster at the Python Software Foundation grow from one person to five.
Updates to Django
Today, "Updates to Django" is presented by Johanan Oppong Amoateng from Djangonaut Space! 🚀
Last week we had 12 pull requests merged into Django by 10 different contributors - including a first-time contributor! Congratulations to Jonathan Wu for having their first commits merged into Django - welcome on board!
This week's Django highlights: 🦄
-
Added
user_perm_strhelper function that can be used when checking user permission usinghas_perm(). (#37021) -
The task decorator was updated to accept
**kwargsand forward them totask_class, allowing additional parameters to be passed to custom Task subclasses. (#36816)
Django Newsletter
Django Fellow Reports
Fellow Report - Natalia
A good chunk of this week focused on improving contributor workflows and reducing review overhead by introducing automated quality checks for PRs :robot:. This builds on prior experimentation (thanks @frankwiles) and seeks to provide early, actionable feedback for PR authors while helping maintainers focus on substantive review. We also had a flood of overly verbose and low quality reports from the same person, which I closed eagerly making use of the recent new guidelines we published in the security policy.
Fellow Report - Jacob
The last report before DjangoCon Europe. Lots of tickets triaged, reviewed, authored, discussed, and the usual kaleidoscope of miscellaneous tasks.
Django Fellow Report - Sarah
Django Fellow Sarah Boyce returns from maternity leave with part-time updates, tackling triage, reviews, security work, and GSoC prep while navigating connectivity challenges from Turkey.
Sponsored Link 1
You know @login_required. Now meet @app.reasoner(). AgentField turns Python functions into production AI agents, structured output, async execution, agent discovery. Every decorator becomes a REST endpoint. Open source, Apache 2.0. Python, Go & TypeScript SDKs.
Articles
Enforce Business Logic in the Database with Django
A practical guide to enforcing business logic at the database layer in Django using transactions, select_for_update locks, and CheckConstraint / UniqueConstraint to prevent race conditions and invalid data rather than relying on application-level validation.
Let's talk about LLMs
James Bennett consolidates his thoughts on AI/LLMs in this wide-ranging piece, ending with a call to invest in software fundamentals instead of racing to adopt the latest AI craze.
Django Table, Filter and Export With Htmx
A reusable pattern for combining django-tables2, django-filter, and HTMX into a single generic view and template. Very cool stuff.
Decoupling Your Business Logic from the Django ORM
Carlton Gibson's latest The Stack Report is a detailed dive into business logic and how to handle it in Django. This is a perennial topic, but he comes at it with decades of experience and wisdom.
djust 0.4.0 - The Developer Experience Release
djust 0.4.0 is about developer experience - making everyday tasks faster, safer, and more intuitive. 30+ new features, critical bug fixes, and a security hardening pass that eliminated every known vulnerability.
Why aren't we uv yet?
A decent chunk of new Python repos already use uv. Coding agents still overwhelmingly recommend pip and requirements.txt, while many users prefer uv.
Events
Are You Attending PyCon, or Orbiting It?
PSF Board Member Georgi Ker makes a personal case for booking hotels via the official PyCon US website before April 24th.
Design Articles
Under the hood of MDN's new frontend
From 2-min dev server starts to 2s. They rewrote MDN's entire frontend, ditching the React SPA for Lit web components, server components, and Rspack. The result: less JS shipped, scoped CSS, and a build pipeline that just works.
Videos
Debunking Django Myths - Sarah Boyce at PyTV
Django Fellow Sarah Boyce gave a talk recently at PyTV titled, "Django Has a Marketing Problem: Debunking the Myths That Won't Die." It is a fantastic overview of what Django does well and what it can improve.
Incremental Typing in Django - Carlton Gibson
Former Django Fellow and current Django Chat podcast host Carlton Gibson, recently gave a talk titled, "Static Islands, Dynamic Sea: Some Thoughts on Incremental Typing." In it he talks about why Python's dynamic nature is a feature, not a bug, and demonstrates Mantle - a library of utilities for typing around Django's liquid core.
Sponsored Link 2
Annual PyCharm Promo - 30% off, all money goes to Django
The annual PyCharm + Django promotion is live until May 1st. This is the single biggest fundraiser for Django and has raised over $350,000 since 2016.
Podcasts
Django Tasks - Jake Howard
Episode 200(!) features Jake Howard, a Senior Systems Engineer at Torchbox and the author of DEP 14, django.tasks, the highlight feature in Django 6.0. We discuss his work on the Django security team, work with Wagtail, AI dabblings, and more.
Django Job Board
Python Developer at Open Data Services
Remote UK role building Python data systems for social-impact projects, offering ~£48k plus profit share in a collaborative worker co-op.
Projects
yassi/dj-signals-panel
Display registered Django signals and receivers, showing what fires and where.
dvf/opinionated-django
An opinionated Django project with Repository pattern, Pydantic DTOs, svcs DI, and Stripe-style ULID IDs
This RSS feed is published on https://django-news.com/. You can also subscribe via email.
17 Apr 2026 3:00pm GMT
Djangocon EU: zero-migration encryption - Vjeran Grozdanic
(One of my summaries of the 2026 Djangocon EU in Athens).
Full title: zero-migration encryption: building drop-in encrypted field in Django.
He works at Sentry. Huge site with a Django backend and thousands requests per second.
He had to add a new table to store 3rd party API credentials. Oh: should this be encrypted? Yes. But: each team has its own way to encrypt data. And there were at least 10 encryption keys here and there (as environment variables). And tens of places where encryption/decryption happens.
So: better to build a generic solution. Or use an existing generic solution. And yes, there are multiple libraries. EncryptedCharField looked nice. But the problem was all the existing data in the various places. Sentry is not a site that you can shut down for a while, so you have to do it with zero downtime. This means you can never change an existing column type.
A solution could be to add a new encrypted field next to the existing one. Then fill it and backfill it and make sure no new data is written to the old field and then you can remove the old field. But that's quite a job with all the different locations that had to be changed.
A Field class in Django has get_prep_value() and from_db_value(). Those are called before storing data in the database and after grabbing it from the database. You could create a new CharField-like field and start to encrypt values in get_prep_value and decrypt the other way.
You'd have to be able to recognise the old un-encrypted values. A solution: prefix encrypted values with enc:. Also key rotation can be handled this way, by including that in the prefix (enc:key2:).
But there's also a bjson field. They solved that by encrypting the json and writing a json to the database with the encrypted json in a field and also the encryption key info.
Unrelated photo explanation: a cat I encountered in Athens on an evening stroll in the neighbourhood behind the hotel.
17 Apr 2026 4:00am GMT
Djangocon EU: lightning talks day 3
(One of my summaries of the 2026 Djangocon EU in Athens).
Announcement - Carlton Gibson
They've been working on improving the technical governance of Django. They'd like to get feedback. There's a blog post about it.
Oh, and look at the "30% off PyCharm" button on the django website, that raises quite a lot of funds for Django. PyCharm's sponsoring is a very sizeable financial part of Django, thanks!
Even more table partitioning with Django, Postgres and UUIDs - Tim Bell
(See his earlier talk on partitioning).
UUID is 128-bits, usually displayed as hex strings. It starts with the unix timestamp, followed by several random fields (in version 7). In version 8, you have more flexibility. You can customize it to put a specific value (an id of a related field in their case) in the first field.
Partitioning per UUID (they used it as their ID) then effectively also partitions on the related field.
Speeding up Django startup times with lazy imports - Anze Pecar
Imports in Python can be slow. Luckily, python has something build-in to check it, the "importtime" flag:
python -X importtime manage.py check
He worked around the packages he found by importing the package inside the functions where he used them. It worked, but it was ugly.
Look at things like post_worker_init in gunicorn, you can use that to pre-load the offending modules.
You can also wait for python 3.15. PEP810: explicit lazy imports!
PyLadies Seoul: rebooting a community for women in tech scenes - Hwayoung Cha
At Pycon Korea 2023 there were only three woman in attendance. So: time to re-start Pyladies Seoul! And with success. One of the new attendees is now a CTO of a company (and also a PyLadies volunteer herself).
They'll also start a Django workshop soon.
Join your local PyLadies chapter!
What I learned during learning to solve rubic cube - Venelin Stoykov
He learned solving a Rubic cube in about two weeks.
We can learn new things more easily by association with things we already know. We need to practice a lot. Repeat, repeat: that way we tell our brain that we need to remember it.
"Thinking slow and fast" is a book he recommends.
AI is like the fast thinking. Fast is also a bit sloppy and often a bit wrong.
If we really want to understand something, it takes time and work.
Why volunteering and contributing to communities is important - Alex Gómez
Get involved! Volunteer! Do some work! Volunteers are necessary.
Volunteering is a lot of work, but it is worth it.
Djangofmt, a Django template formatter written in rust - Thibaut Decombe
Djangofmt, a fast, html aware, django template formatter, written in Rust.
https://github.com/UnknownPlatypus/djangofmt
You can run it as a pre-commit hook.
Unrelated photo explanation: a cat I encountered in Athens in the morning near the hotel.
17 Apr 2026 4:00am GMT

