Update Model User

0

Greetings I am trying to update the user of django from an html form but he does not accept the update. This is my form:

       <form action="{% url 'seguridad:actualizar_usuario' %}" method="POST" autocomplete="off">
       <input type="hidden" name="usuario_id" id="usuario_id">
        <div class="form-group">
          <label class="value_required">Usuario</label>
          <input type="text" name="username" id="username" class="form-control" placeholder="usuario" required="">
        </div>
        <div class="form-group">
          <label class="value_required">Correo</label>
          <input type="text" name="emailuser" id="emailuser" class="form-control" placeholder="usuario" required="">
        </div>
        <div class="form-group">
          <label class="value_required">Clave</label>
          <input type="password" name="passworduser" id="passworduser" class="form-control" placeholder="Deje en blanco para mantener la clave anterior"> 
        </div>
        <div class="form-group">
          <label class="value_required">Perfil</label>
          <select name="perfiluser" id="perfiluser" class="form-control" required="">
            <option value="1">Administrador</option>
          </select>
        </div>
        <div class="form-group">
          <label class="value_required">Estado</label>
          <select name="stateuser" id="stateuser" class="form-control" required="">
            <option value="1">Activo</option>
            <option value="0">Inactivo</option>
          </select>
        </div>

views

def ActualizarUsuario(request):

    if request.method == 'POST':

        from django.contrib.auth.models import User

        usuario_id = request.POST.get('usuario_id')
        username = request.POST.get('username')
        emailuser = request.POST.get('emailuser')
        perfiluser = request.POST.get('perfiluser')
        stateuser = request.POST.get('stateuser')

        if request.POST.get('passworduser'):
            passworduser = request.POST.get('passworduser')
            #actualiza con clave
            user = User.objects.get(pk=usuario_id)

            user.username=username,
            user.password=passworduser, 
            user.email=emailuser,
            user.is_superuser = perfiluser,
            user.is_active = stateuser

            user.save()
        else:
            #actualiza sin clave
            user=User.objects.get(pk=usuario_id)
            user.username=username,
            user.email=emailuser, 
            user.is_superuser = perfiluser,
            user.is_active = stateuser
            user.save()

        messages.add_message(request, messages.SUCCESS, 'Usuario Actualizado !!')

        return redirect('seguridad:administrar_usuarios')

The user's data is placed on the form, obtaining it from Ajax, which works well, but the problem arises when updating appears in my user table:

Maybe some idea or what I'm doing wrong. thanks in advance !!

    
asked by Diego Avila 06.12.2018 в 22:33
source

0 answers