Poorly executed ajax submission

I have a code in django and ajax which, although it works for me, it is supposed that if it creates a user it should give me the if response and it gives me the else response but with the message that "I created the user" however it should not be like that since it also takes the else if you see an error if the gmail already exists... how can I correct this?:

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
        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
        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;

django code:

#registrar usuario

def registrar_usuario(request):
    if request.method != "POST":
        print("quedo aqui")
        return render(request, "./login.html")
            # 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)
                #Crear usuario
                print("creando usuario")
                user = Registro.objects.create(
                user.is_active = True
                return JsonResponse({'mensaje': 'Usuario creado correctamente!'})

I tried changing the response to .exito or .success but nothing works

Back to Top