HOla tengo un formulario que carga archivos de excel con el metodo post en donde valido y compara si la estructura del excel esta bien, pero probando sin llenar ningun campo hago click en el boton "enviar"qq mi sale este error
MultiValueDictKeyError at /DataExcel
"'file'"
aca le sdejo el codigo
Código Python:
Ver originaldef post(self, request, *args, **kwargs):
file = request.FILES['file']
libro = xlrd.open_workbook(file_contents=file.read())
hoja1 = libro.sheet_by_index(0)
cabecera_ripley = ('codsucursal', 'sucursal', 'coddivision', 'division', 'codarea', 'area', 'coddpto', 'dpto', 'codlinea',
'linea', 'codsublinea', 'sublinea', 'codmodelo', 'modelo', 'codvariacion', 'variacion', 'codmarca',
'marca', 'codproveedor', 'proveedor', 'temporada', 'procedencia', 'tiponeg', 'color', 'talla',
'semantig', 'conventa', 'constockoh', 'esrebate', 'concobertura', 'vtaund', 'vtasmf', 'contr',
'costo', 'stock_oh', 'costo_oh', 'cbt')
nombres_excel_ripley = tuple([str(cell).lower() for cell in hoja1.row_values(0)])
cabecera_saga =(u'codigo',u'consignaciòn',u'tipo trx.',u'fecha proceso',u'fecha trx.',u'local',
u'ccosto',u'subclase',u'ean',u'sku',u'descripcion sku',u'caja vta',u'nro.trx. vta',u'cantidad',
u'base imponible vta',u'impto vta',u'monto timbrado vta',u'tipo comision',u'monto comision',
u'costo vta',u'igv costo vta',u'total costo vta',u'local trx ori',u'fecha trx ori',u'caja trx ori',u'nro trx ori')
nombres_excel_saga = tuple([unicode(cell).lower() for cell in hoja1.row_values(5)])
if int(request.POST['tienda']) == 1:
if cabecera_ripley != nombres_excel_ripley:
return render_to_response('app/dataexcel_form.html', {'mensaje':'Archivo de excel de Ripley esta modificado','form': self.form_class},context_instance=RequestContext(request))
else:
form = self.get_form(self.form_class)
if form.is_valid():
self.form_valid(form)
return redirect('list_upload_file')
else:
if cabecera_saga != nombres_excel_saga:
return render_to_response('app/dataexcel_form.html', {'mensaje': 'Archivo de excel de Saga esta modificado','form': self.form_class},context_instance=RequestContext(request))
else:
form = self.get_form(self.form_class)
if form.is_valid():
self.form_valid(form)
return redirect('list_upload_file')
esperando su pronta ayuda gracias