From 2f010795e690550c8c6f56b3924c0f629cacb33b Mon Sep 17 00:00:00 2001 From: Sergey Fedoseev Date: Tue, 22 Oct 2019 16:32:37 +0500 Subject: [PATCH] Simplified AuthenticationMiddleware a bit. SimpleLazyObject already caches value in _wrapped. --- django/contrib/auth/middleware.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/django/contrib/auth/middleware.py b/django/contrib/auth/middleware.py index 5bd176ef69..89c7ca6205 100644 --- a/django/contrib/auth/middleware.py +++ b/django/contrib/auth/middleware.py @@ -1,3 +1,5 @@ +from functools import partial + from django.contrib import auth from django.contrib.auth import load_backend from django.contrib.auth.backends import RemoteUserBackend @@ -6,12 +8,6 @@ from django.utils.deprecation import MiddlewareMixin from django.utils.functional import SimpleLazyObject -def get_user(request): - if not hasattr(request, '_cached_user'): - request._cached_user = auth.get_user(request) - return request._cached_user - - class AuthenticationMiddleware(MiddlewareMixin): def process_request(self, request): assert hasattr(request, 'session'), ( @@ -20,7 +16,7 @@ class AuthenticationMiddleware(MiddlewareMixin): "'django.contrib.sessions.middleware.SessionMiddleware' before " "'django.contrib.auth.middleware.AuthenticationMiddleware'." ) - request.user = SimpleLazyObject(lambda: get_user(request)) + request.user = SimpleLazyObject(partial(auth.get_user, request)) class RemoteUserMiddleware(MiddlewareMixin):