Почему время от времени прилетает ошибка CRSF при регистрации?

Регистрация идет через JS-скрипт, который отсылает запрос на сервер, после чего идет релоад страницы и подгружаются все зависимости. Проблема заключается в том, что время от времени появляется CRSF ошибка при регистрации, и я не могу понять, почему.

Форма

<form action="/registration/" method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <input id="submit" class="button" type="submit" value="Зарегистрироваться">&nbsp;&nbsp;<a class="login_registration" 
</form>


JS-скрипт

<script>
	$('#registration_form').submit(function (e) {
		e.preventDefault();
		var m_username = $('#username_reg').val();
		var m_email = $('#email_reg').val();
		var m_password1 = $('#password1_reg').val();
		var m_password2 = $('#password2_reg').val();

		$.ajax({
			type: "POST",
			url: {% url 'registration' %},
			data: {
				"username": m_username,
				"email": m_email,
				"password1": m_password1,
				"password2": m_password2,
				"csrfmiddlewaretoken" : "{{ csrf_token }}"
			},
			success: function (data) {
				if(data.reload) {
					window.location.reload(true);
					}
				else {
					$('#error_reg_message').html(data.error_login);
					}
			}
		});
	});
</script>


Вьюшка

def registration(request):
    if request.POST:
        username = request.POST.get('username', '')
        email = request.POST.get('email', '')
        password1 = request.POST.get('password1', '')
        password2 = request.POST.get('password2', '')
        if password1 == password2:
            User.objects.create_user(username=username, email=email, password=password1)
            newuser = auth.authenticate(username=username, password=password1)
            auth.login(request, newuser)

            json = {
                "reload": "reload",
                    }
            return JsonResponse(json, safe=False,)
  • Вопрос задан
  • 386 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Похожие вопросы