DjangoプロジェクトにAJAX
ログインがあります。 ajax_login view
はPOSTを取得し、ユーザーを認証してJsonResponse
を返します。すべて正常に動作しているようですが、ユーザーは実際にログインしていません。Djangoはユーザーのように動作しますが、ログインしていません
私は、ユーザーがログインしているかどうかをテストしています。
VIEW
@csrf_exempt
def ajax_login_(request):
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username,password=password)
if user:
if user.is_authenticated():
print 'IS LOGGED IN' #THIS IS BEING PRINTED INTO CONSOLE SO USER IS LOGGED IN
return JsonResponse({'status':0})
return JsonResponse({'status':1})
$(document).ready(function() { $('.login-form').find('.submitButton').click(function (e) { var next = $(this).closest('.login-form').find('input[name="next"]').val(); var password = $(this).closest('.login-form').find('#id_password').val(); var username =$(this).closest('.login-form').find('#id_username').val(); e.preventDefault(); var errors = 0; if (username == '') { $('#id_username_required').show(); errors += 1; } else { $('#id_username_required').hide(); } if (password == '') { $('#id_password_required').show(); errors += 1; } else { $('#id_password_required').hide(); } if (errors == 0) { $.ajax({ url: '/ajax/login/', type: 'post', data: { 'password': password, 'username': username, }, success: function (data) { if (data.status == 0) { window.location.reload(); } else { $('.login-modal-credentials-incorrect').show(); return false; } } }); } }) });
AJAX
問題がどこにあるかを見つけ出すことはできません。それは突然動作を停止しました。
JSをブラウザでデバッグしましたか? –
はい、状態:0を返します。 –
このauthenticate()関数は何を返しますか? – FeedTheWeb