@howuu

Как сделать callback ajax запроса jquery в форме авторизации django?

Делаю кастомную админку django, в форме авторизации все вот так
<form method="post" class="form-signin">
       {% csrf_token %}

      <img class="mb-4" src="{% static 'images/icons/logo.png' %}" alt="" width="72" height="72">
      <h1 class="h3 mb-3 font-weight-normal">Залогінься сучка</h1>

      <label for="inputEmail" class="sr-only">Email address або username</label>
      <input type="#" id="inputEmail" class="form-control username" placeholder="Email address або username" required="" autofocus="">
      <label for="inputPassword" class="sr-only">Пароль</label>
      <input type="password" id="inputPassword" class="form-control password" placeholder="Пароль" required="">
      <div class="checkbox mb-3">
        
      </div>
      

       <button type="button" class="btn btn-lg btn-primary btn-block" onclick="zapros()">Увійти</button>
      <p class="mt-5 mb-3 text-muted">@howareu_u</p>
    </form>


в js вот так

function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie !== '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) === (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
    return cookieValue;
}


function zapros() {

  var username  = $( ".username").val();
  var parol = $( ".password").val();


  
  var csrftoken = getCookie('csrftoken');
  data = {'csrfmiddlewaretoken':  csrftoken, username: username, password: parol };

  $.ajax({
          url: '/accounts/login/',
          type: "POST",
          data: data 
        })  ;
  }


Все работает в куки файлах наша авторизация появляется, но нас не перекидывает на другую страницу (так должно быть, когда мы выводим форму авторизации стандартным django способом
<form method = post>
  {% csrf_token %}
  {{ form.as_p }}
  <button type="submit">Login</button>
</form>

и авторизируемся таким способом, то нас перекидывает, но когда мы делаем тот же post запрос через jQuery, то нет.
Так же форма не говорит нам, если были введенные ошибки при попытке авторизации, в общем вопрос в том, как сделать админку кастомной, что бы и стили были у нас нужные, и об ошибках нам говорили и было LOGIN_REDIRECT_URL = 'наша ссылка' с помощью django.auth
  • Вопрос задан
  • 228 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы