March 2020
Intermediate to advanced
608 pages
17h 17m
English
The ThreadLocalMiddleware processes each request and stores the current HttpRequest object in the current thread. Each request–response cycle in Django is single threaded. We have created two functions: get_current_request() and get_current_user(). These functions can be used from anywhere to grab the current HttpRequest object or the current user, respectively.
For example, you can use this middleware to develop and use CreatorMixin, which will save the current user as the creator of a new model object, as follows:
# myproject/apps/core/models.pyfrom django.conf import settingsfrom django.db import modelsfrom django.utils.translation import gettext_lazy as _class CreatorBase(models.Model): """ Abstract base class with a creator ...