我想在登录auth用户后重定向索引页面。但不知道如何编码对数据的响应。多次重定向登录页面Django Ajax Auth登录
views.py
@csrf_exempt
def Login(request):
if request.method == 'POST':
print("POST Method")
username = request.GET.get('username')
password = request.GET.get('password')
if username and password:
# Test username/password combination
user = authenticate(username=username, password=password)
# Found a match
if user is not None:
# User is active
if user.is_active:
# Officially log the user in
login(request, user)
data = {'success': True}
return render_to_response('index/index.html', data, RequestContext(request))
else:
data = {'success': False, 'error': 'User is not active'}
return render_to_response('accounts/login.html', data, RequestContext(request))
else:
data = {'success': False, 'error': 'Wrong username and/or password'}
print (data)
return HttpResponse(json.dumps(data), mimetype='application/json')
# Request method is not POST or one of username or password is missing
return render_to_response('accounts/login.html', RequestContext(request))
Ajax调用:POST(又是如何登陆认证用户)
$('#signIn_1').click(function (e) {
var username = $.trim($('#un_1').val());
var password = $.trim($('#pw_1').val());
$.ajax({
url : "{% 'login' %}",
type : 'POST',
data : {
'username' : username,
'password' : password
},
dataType : 'json',
success : function (data) {
if (data != null && data == "success") {
window.location = '/'
}
else {
$('#signIn_1').append(data);
alert(data);
}
}
})
});
})(jQuery);
的login.html
Sign In
+0
你为什么要这样做'login(request,user)'? –
+0
我想附加到当前会话。这是通过login()函数完成的。 –