Я использую Django 2.2 и DRF
В моем приложении, основанном на свойстве пользователя, мне нужно изменить request.user
на другой пользователь.
class CustomMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
print(request.user)
response = self.get_response(request)
return response
print(request.user)
всегда дает объект AnonymousUser
, но он дает аутентифицированному пользователю в представлениях.
Как я могу получить пользователя в промежуточное ПО?
иерархия промежуточного ПО
MIDDLEWARE = [
'django_hosts.middleware.HostsRequestMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'silk.middleware.SilkyMiddleware',
'django_hosts.middleware.HostsResponseMiddleware',
'myapp.middleware.CustomMiddleware',
]