Мне помог ваш код, я сделал вход через модальное окно bootstrap.
ajax
$('#login-form').on('submit', function(event){
event.preventDefault();
var csrf_token = $('#login-form [name="csrfmiddlewaretoken"]').val();
var idu = $('#idu').val();
var idp = $('#idp').val();
$.ajax({
url : "/login/",
type : "POST",
data : { csrfmiddlewaretoken: csrf_token, lgn: idu, pswd: idp},
traditional: true
}).done(function(response) {
if (response == "OK") {
$('#login-form .alert-danger').remove();
$('#login-form').prepend('<div class="alert alert-success" role="alert"><strong>Успешно!</strong><br>Подождите секундочку...</div>');
document.location.href = document.location.href.replace('#open_login', '');
} else {
if (!$('#login-form .alert-danger').length) {
$('#login-form').prepend('<div class="alert alert-danger" role="alert"><strong>Ошибка!</strong><br>Введите правильное имя пользователя и пароль.</div>');
}
}
});
});
views.py
def auth_view(request):
username = request.POST.get('lgn', '')
password = request.POST.get('pswd', '')
user = auth.authenticate(username=username, password=password)
if user is not None:
if user.is_active:
auth.login(request, user)
return HttpResponse('OK')
else :
return HttpResponse("False")
urls.py
url(r'^login/$', views.auth_view, name='login'),
template login.html
<div class="modal fade" id="LogModal" tabindex="-1" role="dialog" aria-labelledby="LogModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="LogModalLabel">Вход в учетную запись</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form id="login-form" method="post" action="">{% csrf_token %}
<div class="modal-body">
<label for="id_username">Имя пользователя:</label>
<input class="form-control" type="text" name="username" maxlength="30" id="idu"/>
<label for="id_password">Пароль:</label>
<input class="form-control" type="password" name="password" id="idp"/>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Войти</button>
</div>
</form>
</div>
</div>
</div>
Вызов модального окна:
<button class="btn btn-outline-dark my-2 my-sm-0" type="button" style="font-weight: bold" data-toggle="modal" data-target="#LogModal">Регистрация / Вход</button>
Может кому то поможет из новичков, я долго искал нужную мне информацию - рецепта готового нет, к сожалению.