MultiValueDictKeyError

0

hi I'm trying to make a sales system where to make a sale I need to open cash but I get the errors in my code of views amount = Decimal (request.POST ["amount"]), total = Decimal (request.POST ["total"]), difference = Decimal (request.POST ["dif_totals"]) , use django1.8 python2.7.11 some help please

views.py

from django.shortcuts     import render_to_response, get_object_or_404, redirect
from ventas_app.models    import *
from ventas_app.funciones import *
from django.db.models     import *
from django.template      import RequestContext
from django.core.urlresolvers       import reverse
from django.contrib.auth.decorators import login_required

#from django.http import Http404
from ast         import literal_eval
from datetime    import datetime
from decimal     import Decimal
from django.utils.datastructures import MultiValueDictKeyError
from django.contrib.auth         import authenticate, login, logout
from datetime    import *


import time
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
from django.http import HttpResponse
from reportlab.lib import colors
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer, Image

 """ Vista para guardar en la BD el nuevo movimiento, redirecciona de nuevo a la vista de movimientos"""
            @login_required(login_url='/sistemacaja/')
            def nuevo_movimiento(request):
                moc = MovimientoCaja( tipo          = request.POST["tipo"],
                                      cantidad      = Decimal(request.POST["cantidad"]),
                                      descripcion   = request.POST["motivo"],
                                      fecha         = datetime.now())
            moc.save()

        return redirect(reverse('ventas_app.views.ver_movimientos_hoy'))

    def guardaBilletesTurno(denom, turn, cant):
        er = EfectivoReal ( denominacion = Decimal(denom), 
                            imagen = 'Imagenes/Efectivo/' + denom+'.jpg'
                          )
        er.save()
        b = Efectivo(denominacion = er,
                     cantidad     = cant,
                     modificado   = 'T',
                     turno_cajero = turn
                    )
        return b

    """ Vista para actualizar caja"""
    @login_required(login_url='/sistemacaja/')
    def abrir_caja(request):
        total = Decimal(request.POST["total"])
        if total != 0:
            moc = MovimientoCaja( tipo          = 'I',
                                  cantidad      = total,
                                  descripcion   = 'Caja Inicial',
                                  fecha         = datetime.now())

            moc.save()

        return redirect(reverse('ventas_app.views.ver_movimientos_hoy'))

    """ Vista para actualizar caja"""
    @login_required(login_url='/sistemacaja/')
    def cerrar_caja(request):

        turno = Turno.objects.latest('fecha_inicio')
        turno.id = turno.id

        if turno.ajuste == None:

            diferencia = Decimal(request.POST["dif_totales"])
            moc = None

            if diferencia != 0:
                tipo_dif = 'P'
                if diferencia < 0:
                    tipo_dif = 'N'
                moc = MovimientoCaja( tipo          = tipo_dif,
                                      cantidad      = diferencia,
                                      descripcion   = 'Hubo diferencia entre caja y sistema',
                                      fecha         = datetime.now())

                moc.save()

            turno.fecha_fin = datetime.now()
            turno.ajuste = moc
            turno.save()


        return redirect(reverse('ventas_app.views.ver_movimientos_hoy'))

    """ Script para resolver un problema del sistema y acomodar la base de datos """

error

  File "C:\us\lib\site-packages\django\core\handlers\base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\us\lib\site-packages\django\contrib\auth\decorators.py", line 22, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "C:\us\sistema_ventas_ceic_master\ventas_app\views.py", line 636, in abrir_caja
    total = Decimal(request.POST["total"])
  File "C:\us\lib\site-packages\django\utils\datastructures.py", line 322, in __getitem__
    raise MultiValueDictKeyError(repr(key))
MultiValueDictKeyError: "'total'"
    
asked by Maria 14.11.2018 в 01:19
source

0 answers