Ich werde Indexseite nach dem angemeldeten Auth Benutzer umleiten wollen. Aber ich weiß nicht, wie man die Antwort auf Daten codiert. wiederholt AnmeldeseiteDjango Ajax Auth Anmelden
umleiten 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-Aufruf: POST (Ist, wie die Auth Benutzer anmelden)
$('#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
<div class="form-main">
<form method="POST" action="{% url 'login' %}">{% csrf_token %}
<div class="form-group">
<input type="text" id="un_1" class="form-control" placeholder="username" required="required">
<input type="password" id="pw_1" class="form-control" placeholder="password" required="required">
</div>
<button id="signIn_1" type="submit" class="btn btn-block signin">Sign In</button>
</form>
<div id="message"></div>
</div>
warum machst du das 'login (request, user)'? –
Ich möchte an die aktuelle Sitzung anhängen. Dies geschieht mit einer login() Funktion. – lovethesky