News
DjangoBook.com
This classic domain--first used to host a free book on Django written by Adrian Holovaty and Jacob Kaplan-Moss--is now a community guide to current books on Django.
Python 3.12.0 beta 1 released
Python 3.12 is still in development. This release, 3.12.0b1, is the first of four planned beta release previews of 3.12.
python2.7 will be removed from the python-versions on June 19
GitHub is dropping platform support (actions/setup-python
) for Python 2.7 on June 19th. Python2.7 was officially sunset on January 1, 2020.
PyPI was subpoenaed
The PSF received three subpoenas from the US Department of Justice for PyPI user data in March and April of 2023. In additional news, PGP signatures will be removed from PyPI going forward.
Updates to Django
Django PRs May 14th - 22nd
We're trying out a new category, curated by Sarah Boyce, highlighting contributions to the Django codebase.
On the week starting May 15th, we had 10 pull requests merged into Django by 8 different contributors - including 3 first time contributors! Congratulations to Julie Rymer, Dingning and Rajeesh Punathil for having their first commits merged into Django - welcome onboard!
We saw a number of updates including adding (into Django 5.0) async support to checking user passwords (#16855) and xframe_options_deny, xframe_options_sameorigin, xframe_options_exempt decorators (#16800). It's great to see Django's async story continue to grow!
Want to leave your mark on the framework but struggling to chose a ticket? Here are a couple you might find interesting:
- Bug #17235 - Multipartparser shouldn't leave request.POST/request.FILES mutable.
- Documentation #33682 - Clarify using distinct() with related fields that have Meta.ordering defined.
Please read through the contributing guide and if you need any help you can reach out on the Django forum or the Django Discord. We'd love to welcome you onboard!
Sponsored Link 1
Django for Beginners/APIs/Professionals
Level up your Django knowledge with Django for Beginners, Django for APIs, or Django for Professionals, or gift it to a friend. Sample chapters are available to preview for free. Bundle discount available!
Articles
Django 4 form rendering using Tailwind without Node or crispy
Since Django 4, form rendering with Tailwind can be used to render beautiful forms without using Node or any other packages like django-crispy-forms
.
Sorting a Django queryset by a custom sequence of an attribute
A guide to sorting a Django queryset based on a custom sequence of an attribute.
Optimize Django Query Performance by combining Select Related and Prefetch Related
A useful overview of two classic tools for optimizing database query performance in Django: select_related
and prefetch_related
.
Evolving django-multitenant to build scalable SaaS apps on Postgres & Citus
An overview of the django-multitenant
library, actively used since 2017 and now downloaded more than 10K times per month.
Events
DjangoCon Europe in Edinburgh!
DjangoCon Europe kicks off this Monday, May 29th, for five days of talks, tutorials, and sprints.
Tutorials
Django Sitemap Tutorial
Quickly add a sitemap to any Django website. This tutorial builds out a basic recipes app to demonstrate.
Sponsored Link 2
Podcasts
Episode #156: Virtual Environment Structure & Surveying the Packaging Ecosystem
This week on the show, CPython core developer Brett Cannon returns to discuss his recent articles about virtual environments and the Python packaging landscape.
Projects
citusdata/django-multitenant
Python/Django support for distributed multi-tenant databases like Postgres+Citus.
jazzband/django-widget-tweaks
Tweak the form field rendering in templates, not in python-level form definitions. CSS classes and HTML attributes can be altered.