News
Django's 15th Birthday
Somehow we missed this last week, but July 17th, 2005 was the public introduction of Django. Here is co-creator Simon Willison's initial blog post. As well as a 2015 talk on Django origins.
Django 3.1 Release Candidate
This is the final chance to try 3.1 features before the release on August 3rd.
Python 3.8.5 and 3.9.0b5 released
Python 3.8.5 released as a security hotfix. 3.9.0b5, the last beta before 3.9.0, also available
Wagtail 2.9.3 and 2.7.4 released
Wagtail 2.9.3 and 2.7.4 were released to prevent an HTML injection through form field.
Sponsored Link 1
Speed Up Your Django Tests
Are you bored of waiting for "manage.py test" to finish? Read this book while you wait! It has many tips and tricks that apply to all projects, big and small, and it covers both Django's test framework and pytest.
Articles
XSS Exploitation in Django Applications
Anthony Shaw covers various ways to exploit the Django templating engine in a modern web application.
Disable Instrumentation Packages during Tests by Adam Johnson
Performance tips around instrumentation like django-debug-toolbar
and others that can be disabled for tests.
Update Django template fragment caches in the background
Nicolas Kuttler refactors some code that uses Django's template fragment caching to use low-level cache API.
My GPG setup for developing and more
If you aren't digitally signing your Git commits then this article is for you.
Pure serverless Django with django-gcloud-connectors
Katie McLaughlin walks through using django-gcloud-connectors
to make a Django deployment on Google Cloud completely serverless (and in theory, free!)
Design Articles
User-Generated Themes with Django and CSS Variables
Kasey Kelly walks us through a technique for customizing colors and other per page CSS styles using Django.
Relearn CSS layout: Every Layout
If you find yourself wrestling with CSS layout, it’s likely you’re making decisions for browsers they should be making themselves. Through a series of simple, composable layouts, Every Layout will teach you how to better harness the built-in algorithms that power browsers and CSS.
Tutorials
Getting Started with Content Security Policy using Django
A very nice step-by-step to adding CSP to your Django site.
NameError: name 'os' is not defined
Django 3.1 introduces pathlib by default which will cause subtle issues for anyone using older tutorials.
Modern JavaScript for Django Developers
A 4-part course on integrating JavaScript into a Django app.
Python Dependency Locking with pip-tools
A guide to using pip-tools
for Python dependency as opposed to pipenv
or poetry
.
Videos
Multiple User Types With Custom Data Fields | Django
From the author Two Scoops of Django, a look at adding custom data fields to a Django model.
Podcasts
Django Riffs - Models and Managers and Querysets, Oh My!
Matt Layman explores models and how to interact with data in your database.
Django Chat - Modern Django Development with Jeff Triplett
Even though Django Chat is taking a summer break, we somehow missed sharing this episode.
Running in Production: A Site to View 3D Scans of Cars with Twinner
Jesse Hunt talks about building a site with Django that lets you view 3D scans of cars with Twinner. It’s hosted on 2 Heroku hobby Dynos and has been up and running in production since January 2020.
Projects
cobusc/django-protected-media
Separate handling of protected media in Django, with X-Sendfile support.
Bogdanp/django_dramatiq
A Django app that integrates with Dramatiq.
Dramatiq, a background task processing library with a focus on simplicity, reliability and performance, is new to us.
timothycrosley/isort
A Python utility/library to sort imports.
isort version 5.0.0 added profiles and now includes a Django profile for matching Django's import sorting style.