def remove_from_cart_view(request): """ удаление товара в корзину """ try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) # для бейджика на меню корзины request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) # для бейджика на меню корзины product_slug = request.GET.get('product_slug') product = Product.objects.get(slug=product_slug) cart.remove_from_cart( product.slug) # вызов функции которую добавили в класс new_cart_total = 0.00 for item in cart.items.all(): new_cart_total += float(item.item_total) cart.cart_total = new_cart_total cart.save() return JsonResponse({ 'cart_total': cart.items.count(), 'cart_total_price': cart.cart_total })
def remove_from_cart_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) product_slug = request.GET.get('product_slug') product = Product.objects.get(slug=product_slug) cart.remove_from_cart(product.slug) new_cart_total = 0 for item in cart.items.all(): new_cart_total += float(item.item_total) cart.cart_total = new_cart_total cart.save() return JsonResponse({ 'cart_total': cart.items.count(), # ключ-значение, где ключ используется в шаблоне 'cart_total_price': cart.cart_total })
def change_item_qty(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) qty = request.GET.get('qty') item_id = request.GET.get('item_id') cart_item = CartItem.objects.get(id=int(item_id)) cart_item.qty = int(qty) cart_item.item_total = int(qty) * Decimal(cart_item.product.price) cart_item.save() new_cart_total = 0.00 for item in cart.items.all(): new_cart_total += float(item.item_total) cart.cart_total = new_cart_total cart.save() return JsonResponse({ 'cart_total': cart.items.count(), 'item_total': cart_item.item_total, 'cart_total_price': cart.cart_total })
def get_cart_order(request): try: cart_order_id = request.session['cart_order_id'] cart = Cart.objects.get(id=cart_order_id) request.session['order_total'] = cart.item.count() except: cart = Cart() cart.cart_total = Order.objects.get( id=request.session['order_id']).total cart.save() cart_order_id = cart.id request.session['cart_order_id'] = cart_order_id cart = Cart.objects.get(id=cart_order_id) return cart
def add_to_cart_view(request): try: cart_id = request.session['cart_id'] cart = Cart.objects.get(id=cart_id) request.session['total'] = cart.items.count() except: cart = Cart() cart.save() cart_id = cart.id request.session['cart_id'] = cart_id cart = Cart.objects.get(id=cart_id) product_slug = request.GET.get('product_slug') product = Product.objects.get(slug=product_slug) cart.add_to_cart(product.slug) new_cart_total = 0.00 for item in cart.items.all(): new_cart_total += float(item.item_total) cart.cart_total = new_cart_total cart.save() return JsonResponse({ 'cart_total': cart.items.count(),'cart_total_price':cart.cart_total })
def remove_from_cart_view(request): try: cart_id = request.session["cart_id"] cart = Cart.objects.get(id=cart_id) request.session["total"] = cart.items.count() except KeyError: cart = Cart() cart.save() cart_id = cart.id request.session["cart_id"] = cart_id cart = Cart.objects.get(id=cart_id) product_slug = request.GET.get("product_slug") product = Product.objects.get(slug=product_slug) cart.remove_from_cart(product.slug) new_cart_total = 0.00 for item in cart.items.all(): new_cart_total += float(item.item_total) cart.cart_total = new_cart_total cart.save() return JsonResponse({"cart_total": cart.items.count(), "cart_total_price": cart.cart_total, })