나는에 연결되어있는 사용자 정보와 변수를 전달하고 싶었 Clients
에 OneToOneField을 통해 모델 django.contrib.auth.models
에, base.html
파일.
그래서 context_processors.py
다음 코드로를 만들었습니다.
from django.contrib.auth.models import User
def userData(request):
user = request.user
u = User.objects.get(username=user)
us = u.clients.first_name
uv = u.clients.avatar
return {
'u': u,
'us': us,
'uv': uv
}
로그 아웃 할 때까지 모든 것이 잘 작동했습니다.
다시 로그인을 시도하면 accounts/login
URL이 표시되고
DoesNotExist at /accounts/login/
User matching query does not exist.
그럼 당신은 request.user
이다 이미 User
그래서 다시 가져별로 의미가 있습니다.
사용자가 로그인했는지 간단히 확인할 수 있습니다.
def userData(request):
if request.user.is_authenticated:
return {
'u': request.user,
'us': request.user.clients.first_name,
'uv': request.user.clients.avatar,
}
return {}
참고 : 이름
clients
입니다 plular 이이 제안 때문에, 수집 의Client
들. 일반적으로 모델 이름은 단수 (Client
대신)이며 a의 관련 이름은Clients
OneToOneField
직접 지정하는 경우에도 단수 여야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다