나는 code
의 스 니펫을 Django documentation:에 log in
에 넣었습니다. 아래에 다른 버전이 있는데, 위와 다른 점이 있는지 알고 싶습니다.사용자 인증?
수표가 request.user
인 경우 수행합니다. user
은 authenticated/logged
인 경우에만 request
에 붙습니다. documentation
에서
는 :
from django.contrib.auth import authenticate, login
def my_view(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
# Redirect to a success page.
else:
# Return a 'disabled account' error message
else:
# Return an 'invalid login' error message.
my version:
from django.contrib.auth import authenticate, login
def my_view(request):
if request.user:
if user.is_active:
login(request, user)
# Redirect to a success page.
else:
# Return a 'disabled account' error message
else:
# Return an 'invalid login' error message.
사용자가 로그인하지 않은 경우 request.user는'AnonymousUser'입니다. 버전에서 사용자 이름/비밀번호가 틀리면 사용자를 인증하지 않습니다. 'request.user.is_authenticated()'를 사용하여 사용자가 로그인했는지 확인할 수 있습니다. – karthikr