2017-05-09 27 views
0

ログインビューで属性エラーが発生します。 'NoneType'オブジェクトには 'check_password'属性がありません。これは私のview.pyある'NoneType'オブジェクトに 'check_password'属性がありません

def login_view(request): 
    if request.method == "POST": 
     username = request.POST['username'] 
     password = request.POST['password'] 
     u = User.objects.get(username=username) 
     if username and password: 
      user = authenticate(username= username, password= password) 
      if not user.check_password(password): 
       return render(request, 'post/login.html', {'error_message': 'Incorrect password'}) 
      if not user: 
       return render(request, 'post/login.html', {'error_message': 'This user does not exist'}) 
      if not user.is_active: 
       return render(request, 'post/login.html', {'error_message': 'Your account has been disabled'}) 
      if user.is_active: 
       login(request, user) 
       return render(request, 'post/home.html', {'u' : u}) 

    return render(request, 'post/login.html') 

任意の助けいただければ幸いです。

+2

authenticate(username = username、password = password)が返されない場合 –

+0

'authenticate(username = username、password = password)'がユーザを返す場合は、パスワードがすでにチェックされ有効であるため、 'check_password'を呼び出します。 – ozgur

+0

私はそれが働いたと思う。 – Sanjana

答えて

0

変数が空である可能性があります。 auth変数(ユーザー名とパスワード)を正しく投稿したことを確認してください。

関連する問題