Django v4 Release
Django new version summary
In December 2021 Django Version 4 has been released with various upgrades to the framework, improvements, deprecations and also a few breaking changes.
​

Django 4.0 highlights

zoneinfo default time zone
In this version the default pytz time zone has been migrated to zoneinfo
Template-based form rendering
Forms, Formsets, and ErrorList are now rendered using the template engine to enhance customization.
RedisCache backend
Django v4 provides built-in support for caching with Redis via redis-py library
scrypt password hasher
This new password hasher is more secure compared to PBKDF2 (the default hashing algorithm before v4)
​

Deprecated Features

PostgreSQL v9.6 support dropped
PostgreSQL v9.6 and earlier are not supported by Django v4.0. Django v4.0 will only support PostgreSQL β‰₯v10.
Oracle v12.2 and 18c support dropped
Starting with Django 4, the Oracle version should be at least v19 or above. The Django team has officially removed support for Oracle versions 18c and earlier.
​

Breaking Changes

CSRF_TRUSTED_ORIGINS changes
Values in the CSRF_TRUSTED_ORIGINS setting must include the scheme (e.g. 'http://' or 'https://') instead of only the hostname. Also, this might be required in the project configuration.
1
# settings.py sample (partial content)
2
...
3
ALLOWED_HOSTS = ['localhost', 'localhost:85', '127.0.0.1']
4
CSRF_TRUSTED_ORIGINS = ['http://localhost:85', 'http://127.0.0.1']
5
...
Copied!

Free Starters upgraded to Django 4.x

Soft UI Design - Django 4 Starter