Плохо выполненное ajax-представление

У меня есть код на django и ajax, который, хотя и работает у меня, но предполагается, что если он создает пользователя, он должен дать мне ответ if, а он дает мне ответ else, но с сообщением, что "я создал пользователя", однако так не должно быть, поскольку он также принимает else, если вы видите ошибку, если gmail уже существует... как я могу это исправить?:

var csrftoken = 'YOUR_CSRF_TOKEN_VALUE';
$(document).ready(function() {
    $('#registrar_usuario').submit(function(event) {
      event.preventDefault(); // Prevent default form submission
      var form = $(this);
      var csrftoken = form.find('input[name="csrfmiddlewaretoken"]').val();
  
      // Validate passwords and required fields
      if (!validarCamposRequeridos()) {
        return; // Prevent AJAX request if validation fails
      }
  
      // Send AJAX request to validate email on server
      $.ajax({
        url: '/login/', // URL of the 'validarCampos' view
        method: 'POST',
        data: {
            'csrfmiddlewaretoken': csrftoken,
            'email_usuario': $('#email_usuario').val(),
            'nombre_usuario': $('#nombre_usuario').val(),
            'fecha_nacimiento': $('#fecha_nacimiento').val(),
            'password1': $('#password1').val(),
            'password2': $('#password2').val(),
        },
        dataType: 'json',
        success: function(response) {
          if (response.success && response.status === 200) {
            console.log("si ejecuta envio")
            // aqui se presenta el mensaje cuando deberia mostrar el que funciona xd
            $('#alertaError').css('color', '#29A52D');
            $('#alertaError').text("Usuario creado correctamente!");

            // Consider a slight delay if needed
            setTimeout(function() {
            $('#registrar_usuario').submit(); // Submit the form after a delay
            }, 500);
          } else {
            console.log("correo ya existe")
            // If there are errors, display them in the 'alertaError' label
            $('#alertaError').text(response.mensaje);
          }
        },
        error: function(error) {
          console.error('Error al validar campos:', error);
        },
      });
    });
  });

  //validar que todos los campos no esten vacios
  function validarCamposRequeridos() {
    const requiredFields = ['email_usuario', 'nombre_usuario', 'fecha_nacimiento', 'password1', 'password2'];

  for (const field of requiredFields) {
    if (!$('#' + field).val()) {//de alguna forma '#' toma todas las ids
      $('#alertaError').text("Todos los campos son obligatorios.");
      return false;
    }
  }

  // Return true if all fields are filled
  return true;
  }

код джанго:

#registrar usuario

def registrar_usuario(request):
    if request.method != "POST":
        print("quedo aqui")
        return render(request, "./login.html")
    else:
        try:
            # Check if email already exists
            email_usuario = request.POST["email_usuario"]
            print("Checking email:", email_usuario)  # Debugging statement
            if Registro.objects.filter(email_usuario= email_usuario).exists():
                print(f"el correo {email_usuario} ya existe")
                respuesta = {
                "mensaje": f"El correo electrónico {email_usuario} ya está en uso."
                }
                return JsonResponse(respuesta)
            else:
                #Crear usuario
                print("creando usuario")
                user = Registro.objects.create(
                    nombre_usuario=request.POST["nombre_usuario"],
                    fecha_nacimiento=request.POST["fecha_nacimiento"],
                    password=request.POST["password1"],
                    email_usuario=email_usuario,
                )
                user.is_active = True
                user.save()       
                return JsonResponse({'mensaje': 'Usuario creado correctamente!'})

Я пробовал менять ответ на .exito или .success, но ничего не помогает

Вернуться на верх