from django.db import transaction
with transaction.atomic():
transaction.on_commit(send_email)
do_some_database_stuff()
Slide 11
Slide 11 text
AUTH_PASSWORD_VALIDATORS
Slide 12
Slide 12 text
from django.contrib.auth.password_validation import (
UserAttributeSimilarityValidator,
MinimumLengthValidator,
CommonPasswordValidator,
NumericPasswordValidator,
)
Slide 13
Slide 13 text
contrib.auth.mixins
Slide 14
Slide 14 text
from django.contrib.auth.mixins import (
AccessMixin,
LoginRequiredMixin,
PermissionRequiredMixin,
UserPassesTestMixin,
)
Slide 15
Slide 15 text
New Admin Theme
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
New Admin Theme
Slide 21
Slide 21 text
Can’t Upgrade Yet?
pip install
django-flat-theme
Slide 22
Slide 22 text
./manage.py test --parallel
Slide 23
Slide 23 text
Random Minor Features
Slide 24
Slide 24 text
contrib.postgres.JSONField
Slide 25
Slide 25 text
from django.contrib.postgres.fields import JSONField
from django.db import models
class Dog(models.Model):
name = models.CharField(max_length=200)
data = JSONField()