Разница между request.user и get_user(request) в Django?
Я заметил, что есть два способа получить объект пользователя из запроса (при условии, что пользователь уже вошел в систему и сессия действительна):
user = request.useruser = get_user(request), гдеget_user()импортируется изdjango.contrib.auth.
В чем разница? get_user(), кажется, делает много валидации для сессии запроса.
Что лучше?
request.user фактически заполняется get_user(request).
Это происходит в AuthenticationMiddleware:
request.user = SimpleLazyObject(lambda: get_user(request))
Таким образом, когда вы получаете request.user, вы на самом деле получаете get_user(request) результат.