2015-07-10 69 views
0

確定,當我打印用戶它給None蟒蛇Django的用戶不使用用戶對象認證

爲什麼用戶不被認證的我面臨這個問題與認證

user_profile = UserProfile.objects.get(email="[email protected]") 
new_password = form.cleaned_data['new_password'] 
user_profile.user.set_password(new_password) 
user_profile.user.save() 
user = authenticate(username=user_profile.user.username, password=new_password) 
print(user) 

+0

您是否真的將用戶密碼設置爲新值? –

+0

你已經完成了user_profile.user.set_password(new_password) – aryan

+1

你保存了嗎? –

回答

0

來自django.contrib.auth的身份驗證功能會返回django.contrib.auth.models.User類的實例,如果憑據匹配,則返回None;否則返回None。

我猜沒有用戶提供您提供的用戶名和密碼。這就是爲什麼你得到無。

我建議去外殼和運行:

from django.contrib.auth.models import User 
from django.contrib.auth.hashers import make_password 
password = make_password("your_password") 
user = User.objects.filter(username="username",password=password) 

,看看會有什麼用戶。