我在的log in
的下面找到以下這段代碼:code
。 我在下面有不同的版本,我想知道它是否與上述不同。在Django中的用戶認證?
我做了一個if request.user
檢查。只有在authenticated/logged
正確時,user
纔會附加到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