def comprar(request, producto_pk): template = 'productos/comprar.html' producto_seleccionado = Producto.objects.get(pk=producto_pk) if Compra.objects.filter(comfirmada=False).exists(): compra = Compra.objects.get(comfirmada=False) compra.producto.add(producto_seleccionado) compra.save() else: compra = Compra() compra.save() compra.producto.add(producto_seleccionado) compra.save() lista_productos = compra.producto.all() total = 0 for i in lista_productos: total = total + i.precio if request.method == 'POST': form = CompraForm(request.POST, instance=compra) if form.is_valid(): compra.total = total compra.comfirmada = True compra.save() form.save() #se envia el email al usuario y se redirige a la pagina de exito de compra template_email = get_template('productos/compra_template.txt') mensaje = "<strong>" + compra.usuario + "</strong> - email: " + compra.email mensaje = mensaje + " <br> Usted realizo la compra de:<ul> " for producto in compra.producto.all(): mensaje = mensaje + "<li>" + producto.nombre + " - ₲ " + str(intcomma(producto.precio)) + "</li>" mensaje = mensaje +"</ul>" mensaje = mensaje + "Total: ₲ " + str(intcomma(compra.total)) send_mail('Compra desde la web de Gonzalez Gimenez % s' % (datetime.datetime.now().strftime('%d-%m-%Y %H:%M:%S')), 'Notificacion de compra:', '*****@*****.**', [compra.email], fail_silently=False, html_message=mensaje) return HttpResponseRedirect('/productos/compra_exitosa/') else: form = CompraForm(instance=compra) return render(request, template, locals())