2016-08-16 3 views
0

나는이 오류를MultiValueDictKeyError/registroEstudianteMayor/" 'Acudiente'"

MultiValueDictKeyError에서/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\._-][email protected][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의 오차가 동일하다.

+2

안녕하세요. StackOverflow에 오신 것을 환영합니다. 질문을 간소화하면 답변을 얻을 수있는 가능성이 높아집니다. [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve)을 읽어보십시오. –

+1

[django MultiValueDictKeyError 오류의 가능한 복제본, 어떻게 처리합니까?] (http://stackoverflow.com/questions/5895588/django-multivaluedictkeyerror-error-how-do-i-deal-with-it) – CivFan

답변

0

보기에 Acudiente라는 필드가 없습니다. 당신은 대신 Nomacud라고 불리는 사람이 있습니다.

정말 모든 장고 양식을 사용해야합니다.