/ registroEstudianteMayor上的MultiValueDictKeyError /"' Acudiente'"

时间:2016-08-16 20:37:59

标签: python django multivalue

我有这个错误

  

/ registroEstudianteMayor /"' Acudiente'"' ",

我经常搜索这个错误的答案,但我找不到任何答案。

我有这个控制器:

def post(self, request, *args, **kwargs):
    generos = parametros['generos']
    tiposDocumento = parametros['tiposDocumento']
    zonas = parametros['zonas']

    #Toma de datos
    numeroDocumento = request.POST['numeroDocumento']
    tipoDocumento = request.POST['tipoDocumento']
    contrasena = request.POST['contrasena']
    contrasena2 = request.POST['contrasena2']
    correoElectronico = request.POST['correoElectronico']
    nombres = request.POST['nombres']
    apellidos = request.POST['apellidos']
    fechaNacimiento = request.POST['fechaNacimiento']
    genero = request.POST['genero']
    direccion = request.POST['direccion']
    barrio = request.POST['barrio']
    telefonoFijo = request.POST['telefonoFijo']
    telefonoCelular = request.POST['telefonoCelular']
    seguridadSocial = request.POST['seguridadSocial']

    #Toma de datos particulares
    nombreAcudiente = request.POST['Acudiente']
    telefonoAcudiente = request.POST['telefonoAcudiente']
    foto = request.FILES['foto']
    cedula = request.FILES['cedula']

    #Inicializo datos opcionales
    zona = ""
    comuna = ""
    grupoEtnico = ""
    condicion = ""
    enviarInfoAlCorreo = False

    #Inicializo Datos Opcionales particulares
    desempeno = ""
    lugar = ""

    #Tomo los datos opcionales
    if request.POST['zona']: zona = request.POST['zona']
    if request.POST['comuna']: comuna = request.POST['comuna']
    if request.POST['grupoEtnico']: grupoEtnico = request.POST['grupoEtnico']
    if request.POST['condicion']: condicion = request.POST['condicion']
    if "enviarInfoAlCorreo" in request.POST.keys(): enviarInfoAlCorreo = True

    #tomo datos opcionales particulares
    if request.POST['Labor']: desempeno = request.POST['Labor']
    if request.POST['Lugar']: lugar = request.POST['Lugar']

    #Validaciones
    errorNumeroDocumento = (User.objects.filter(username=numeroDocumento) or  not re.match("^([0-9]{8,20})$",numeroDocumento))
    errorTipoDocumento = (tipoDocumento  not in (parametros["tiposDocumento"]))
    errorContrasena = (request.POST["contrasena"]!=request.POST["contrasena2"])
    errorCorreoElectronico = (User.objects.filter(email=correoElectronico) or not re.match(r"^[A-Za-z0-9\._-]+@[A-Za-z0-9]+\.[a-zA-Z]+$", correoElectronico))
    errorFechaNacimiento = not fechaCorrecta(fechaNacimiento)
    errorGenero = (genero not in (parametros["generos"]))
    errorTelefonos = (not re.match("^([0-9]{7,12})$",telefonoFijo) or not re.match("^([0-9]{7,12})$",telefonoCelular) or not re.match("^([0-9]{7,12})$",telefonoAcudiente))

    if (errorContrasena or errorNumeroDocumento or errorTipoDocumento or errorCorreoElectronico or errorFechaNacimiento or errorGenero or errorTelefonos):
        return render_to_response('Generales/registroEstudianteMayor.html', locals(), context_instance = RequestContext(request))

    #Guardar usuario
    usuario = User.objects.create_user(id=User.objects.all().count() + 1, username=numeroDocumento, email=correoElectronico, password=contrasena)
    usuario.first_name = nombres
    usuario.last_name = apellidos
    usuario.save()

    #Guardo estudiante
    estudiante = Estudiante(user = usuario, tipoDocumento = tipoDocumento, fechaNacimiento = fechaNacimiento, genero = genero, direccion = direccion, barrio = barrio, zona = zona, comuna = comuna, 
        telefonoFijo = telefonoFijo, telefonoCelular = telefonoCelular, grupoEtnico = grupoEtnico, condicion = condicion, seguridadSocial = seguridadSocial, enviarInfoAlCorreo = enviarInfoAlCorreo)
    estudiante.save()

    #Guardo datos particulares del Mayor
    datosMayor = DatosFamiliaMayor(idEstudiante= user, nombreContacto= nombreAcudiente, telefonoContacto= telefonoAcudiente,
        desempeno= desempeno, lugar= lugar, cedula= cedula, foto= foto)

    datosMayor.save()

    return inicioControl(request, registerSuccess=True)

受影响的部分是:

<label class="control-label col-md-4" for="acud">Nombre Acudiente:</label>
            <div class= "col-md-8">
                <input type="text" name="Nomacud" requiered="true" value="{{Acudiente}}" class="form-control" id="nomacud">
            </div>
        </div>

        <div class="form-group" id="TelAcudiente">
            <label class="control-label col-md-4" for="Acudtel">Telefono Acudiente:</label>
            <div class="col-md-8">
                <input type="text" name="Telacud" requiered="true" value="{{telefonoAcudiente}}" class="form-control" id="telacud">
            </div>
        </div>

TelefonoAcudiente中,错误是相同的。

1 个答案:

答案 0 :(得分:0)

在你看来,你没有一个名为Acudiente的田地;你有一个名叫Nomacud的人。

实际上你应该使用Django表格。