News
Django 5.0 alpha 1 released
Django 5.0 alpha 1 is now available. It represents the first stage in the 5.0 release cycle and is an opportunity for you to try out the changes coming in Django 5.0. There are many new exciting features, which you can read about in the in-development 5.0 release notes.
Python Release Python 3.12.0rc3
Python 3.12.0rc3 "is the absolutely last release preview" for Python 3.12.
Updates to Django
There was a big push to get as many PRs as possible in before the 5.0 feature freeze deadline and so last week we had a massive 22 pull requests merged into Django by 13 different contributors - including 7 first time contributors! Congratulations to Rinku Chaudhari, Anvansh, Lemuel Sta Ana, michele, puc_dong, Yves Weissig and Sam Toyer for having their first commits merged into Django - welcome on board!
Some of the final features added to 5.0 were:
- The main admin content area is now rendered in a
<main>
tag instead of<div>
(#34833) and it's header in a<header>
tag instead of<div>
(#34832) which improves accessibility. - Functions decorated with
functools.lru_cache
can be serialized in migrations without the need to write a custom serializer (#34822). - Added support for callables on model fields' choices (#24561).
- Model properties can be rendered as booleans in
ModelAdmin.list_display
by using the newboolean
attribute (#31558).
The alpha version of Django 5.0 is released which means now is a great time to start testing against your project! You can find the full release notes here: https://docs.djangoproject.com/en/dev/releases/5.0/
Articles
How to model a following system similar to Twitter and Instagram with Python and Django
A detailed guide to implementing a follower system in Django 4.2 similar to Twitter, Instagram, etc. complete with helper methods to create/remove relationships.
Django: Move a template tag library into builtins
How to add a template library to builtins and remove existing {% load %} tags from your templates.
Smooth Database Changes in Blue-Green Deployments
Let's explore how to make smooth blue-green deployments in Django using advanced migration tools.
Fixing the "Data for this panel isn't available anymore" error in Django Debug Toolbar
A one-line fix to this common error when using the excellent Django Debug Toolbar.
Keep content managers' admin access up-to-date with role-based permissions
A clever way to implement role-based permissions in a Django CMS.
Upload your brain: How to add serverless functions to Django in 6 minutes (with HTMX and AWS Lambda)
A short guide (and accompanying video) on adding serverless functions to Django.
Events
DjangoCon Africa financial assistance fund
The first edition of DjangoCon Africa takes place this year, 6-11 November, in Zanzibar, Tanzania. This is a GoFundMe to help raise more funds to assist with travel and accommodation for many attendees, including speakers, who will otherwise be unable to attend. This applies particularly to attendees who will be coming from other African nations.
Every single penny that we receive in donations will be used to assist travellers on low budgets, and every donation, however small, will help make a difference to a real person
PyLadies London
Two talks on September 28th focused on prototyping with Django & building bridges between engineers and non-engineers.
Announcing Our Panel Discussion: Who put me in charge? Moving beyond day-to-day coding in Django
DjangoCon US has a panel that you won't want to miss.
Sponsored Link 2
The Django Styleguide
A pragmatic approach for building Django apps of all sizes. Find it on GitHub today!
Podcasts
Django Chat #146: Git and Django 5.0 with Adam Johnson
Adam is a prolific figure in the Django community and the author of a new book, Boost Your Git DX. We discuss the latest Django 5.0 alpha release, how to use aliases, managing third-party packages, and a plethora of tips and tricks with Git to improve your developer workflow.
Projects
lekjos/django-custom-admin-pages
A Django app that allows you to register class-based views to appear in Django admin.