コード例 #1
0
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'override': True
            })
    coupon_apply_form = CouponApplyForm()
    context = {'cart': cart, 'coupon_apply_form': coupon_apply_form}
    return render(request, 'cart/detail.html', context)
コード例 #2
0
ファイル: views.py プロジェクト: IjatAyam/JatYam_bookstore
    def get(self, request, *args, **kwargs):
        cart = Cart(request)
        coupon_apply_form = CouponApplyForm()

        # r = Recommender()
        # cart_products = [item['product'] for item in cart]
        # recommended_products = r.suggest_products_for(cart_products, max_results=4)

        return render(request, self.template_name, {
            'cart': cart,
            'coupon_apply_form': coupon_apply_form
        })
コード例 #3
0
def cart_detail(request):
    cart = Cart(request)
    categories = Category.objects.all()
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(initial={'quantity': item['quantity'],
                                                                   'update': True
                                                                   })
    coupon_apply_form = CouponApplyForm()
    return render(request, 'cart/detail.html', {'cart': cart,
                                                'coupon_apply_form': coupon_apply_form,
                                                'categories': categories
                                                })
コード例 #4
0
ファイル: views.py プロジェクト: ganyyy/MyShop
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddForm(initial={
            'quantity': item['quantity'],
            'update': True
        })
    coupon_form = CouponApplyForm()
    return render(request, 'cart/detail.html', {
        'cart': cart,
        'coupon_form': coupon_form
    })
コード例 #5
0
def cart_detail(request):
    cart = Cart(request) 
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(initial={'quantity':item['quantity'],                                                                         'update':True})
    coupon_apply_form = CouponApplyForm() 
    r = Recommender() 
    cart_products = [item['product'] for item in cart]
    recommended_products = r.suggest_products_for(cart_products, max_results=4)

    return render(request, 'cart/detail.html', {'cart':cart,
                                                 'coupon_apply_form':coupon_apply_form,
                                                 'recommended_products':recommended_products}) 
コード例 #6
0
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
                            initial={'quantity': item['quantity'],
                            'update': True})
    coupon_apply_form = CouponApplyForm()
    return render(request,
                  'details.html',
                  {'cart': cart,
                   'coupon_apply_form': coupon_apply_form,
                   'username':auth.get_user(request).username})
コード例 #7
0
 def get(self, request, *args, **kwargs):
     cart = Cart(request)
     for item in cart:
         item['update_quantity_form'] = CartAddProductForm(
             initial={
                 'quantity': item['quantity'],
                 'update': True
             })
     coupon_apply_form = CouponApplyForm()
     return render(request, 'cart/detail.html', {
         'cart': cart,
         'coupon_apply_form': coupon_apply_form
     })
コード例 #8
0
ファイル: views.py プロジェクト: hanqianops/myshop
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        # 每一个购物车中的物品创建了 CartAddProductForm 实例来允许用户改变产品的数量。
        # 把表单和当前物品数量一同初始化,然后把 update 字段设为 True ,
        # 这样当提交表单到 cart_add 视图时,当前的数量就被新的数量替换了。
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            })
    coupon_apply_form = CouponApplyForm()  # 优惠券表单
    return render(request, 'cart/detail.html', locals())
コード例 #9
0
ファイル: views.py プロジェクト: mleon111/shoppingcarthero
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddItemForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            })
    coupon_apply_form = CouponApplyForm(request.POST, user=request.user)
    return render(request, 'cart/cart.html', {
        'cart': cart,
        'coupon_apply_form': coupon_apply_form
    })
コード例 #10
0
ファイル: views.py プロジェクト: MGRedex/shop_project
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item["update_quantity_form"] = CartAddProductForm(
            initial={
                "quantity": item["quantity"],
                "update": True
            })
    coupon_apply_form = CouponApplyForm()
    return render(request, 'cart/detail.html', {
        'cart': cart,
        'coupon_apply_form': coupon_apply_form
    })
コード例 #11
0
ファイル: views.py プロジェクト: TarekCG-s/e-shoppy
def cart_detail(request):
    cart = Cart(request)
    coupon_apply_form = CouponApplyForm()
    for item in cart:
        item["update_form"] = CartCreationForm(
            initial={"quantity": item["quantity"]})
    return render(
        request,
        "cart/detail.html",
        {
            "cart": cart,
            "coupon_apply_form": coupon_apply_form
        },
    )
コード例 #12
0
def cart_detail(request):
    """
    Notes on the "coupons":
      In the first time we visit view 'cart_detail' (=> cart/detail.html),
      it's not that special.

      But when we click the 'Apply' on the form, it "finds" the ID as an
      model instance then "redirect" us to this view again, but now we
      HAVE a `coupon_id` for `cart_session` (cart/cart.py) to process/calc.

      After the `coupon_apply`, the `coupon_id` was stored in the session,
      which can also be accessed by our 'session' (cart/cart.py : Cart).

      The (2nd time being invoked) 'cart_session' was initializaed with
      all the calculated result based on the `coupon_id` (e.g. discount).

      Right now, we CAN pass the calculated stuff to the 'cart/detail.html',
      of course, after finished "this part" (displaying cart detail), the
      "calculated result" (of instance 'cart_session') still exists, so we
      can still do something about it (all we need is an init to calc res).

      One more thing about "session_cart",
        part of the job was being done in the `Cart` (& initialization)
        part of the job was simply "storing the key in the browser's session"

        Actual process
        1. get the data (from browers' session)
        2. process(while being initialized) based on all the data we got
    """

    # Calc all the results we need when being initialized
    cart_session = SessionCart(request)

    # We actually have used this form before
    #   shop/product/detail.html    simply "add to cart"
    #   cart/detail.html            used for 'update" existing quantities
    for cart_inst in cart_session:
        cart_inst["update_quantity_form"] = CartAddProductForm(
            initial={"quantity": cart_inst["quantity"], "update": True}
        )
    coupon_apply_form = CouponApplyForm()

    return render(
        request=request,
        template_name="cart/detail.html",
        context={
            "cart_session": cart_session,
            "coupon_apply_form": coupon_apply_form,
        },
    )
コード例 #13
0
def cart_detail(request):
    """Reflecting content of cart."""
    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            })
    coupon_apply_form = CouponApplyForm()
    return render(request, 'cart/detail.html', {
        'cart': cart,
        'coupon_apply_form': coupon_apply_form
    })
コード例 #14
0
ファイル: views.py プロジェクト: Latterlig96/Workshop
def cart_detail(request: WSGIRequest) -> HttpResponse:
    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            })
    coupon_apply_form = CouponApplyForm()
    return render(request,
                  'cart/cart_detail.html', {
                      'cart': cart,
                      'coupon_apply_form': coupon_apply_form
                  },
                  status=HTTPStatus.OK)
コード例 #15
0
def cart_detail(request):
    cart = Cart(request)
    # cart是Cart类封装后的__iter__方法返回的生成器,每次for循环迭代生成的内容都是{price:单价,total_price:产品总价,product:产品实例,quantity:数量}
    for item in cart:
        # initial映射字段名称到初始值的字典给表单填充初始值,作为item的update_quantity_form键的值传入
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            })
    coupon_apply_form = CouponApplyForm()
    return render(request, 'cart/detail.html', {
        'cart': cart,
        'coupon_apply_form': coupon_apply_form
    })
コード例 #16
0
ファイル: views.py プロジェクト: HeroGenie/onlineshop7
def cart_detail(request):
    cart = Cart(request)
    coupon_form = CouponApplyForm()
    test = request.session.get('coupon_id')
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            })
    return render(request, 'cart/detail.html', {
        'cart': cart,
        'coupon_form': coupon_form,
        'test': test
    })
コード例 #17
0
def cart_detail(request):
    """ Get current cart. """
    cart = Cart(request)
    # provide form to edit order quantity.
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'override': True,
            })
    coupon_apply_form = CouponApplyForm()

    context = {'cart': cart, 'coupon_apply_form': coupon_apply_form}

    return render(request, 'cart/detail.html', context)
コード例 #18
0
def cart_detail(request):
    cart = Cart(request)
    # For each item, instantiate item with CartAddProductForm 
    # with the given quantity
    # and override set to True
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(initial={
            'quantity': item['quantity'], 'override': True})
    coupon_apply_form = CouponApplyForm()
    r = Recommender()
    cart_products = [item['product'] for item in cart]
    recommended_products = r.suggest_product_for(cart_products,
                                                 max_results=4)
    return render(request, 'cart/detail.html', {'cart': cart,
                                'coupon_apply_form': coupon_apply_form,
                                'recommended_products': recommended_products})
コード例 #19
0
def cart_detail(request):
  cart = Cart(request)
  if cart.__len__() > 0:
    for item in cart:
      item['update_quantity_form'] = CartAddProductForm(
          initial={'quantity': item['quantity'],
                   'update': True})
    coupon_apply_form = CouponApplyForm()
    return render(request,
                  'cart/cart_detail.html',
                  {'cart': cart,
                   'coupon_apply_form': coupon_apply_form})
  else:
    messages.success(
        request, "Ваша корзина пуста. Добавьте товары для просмотра содержимого корзины.")
    return redirect("shop:product_list")
コード例 #20
0
def cart_detail (request):
	cart= Cart(request.session)
	if cart.count > 0:
		coupon_apply_form = CouponApplyForm()
		form = CartAddProductForm()
		r = Recommender()
		cart_products = cart.products
		if cart_products:
			recommended_products = r.suggest_products_for (cart_products,4)
			return render(request,'cart/detail.html',{'form': form,'coupon_apply_form':coupon_apply_form,
													'recommended_products':recommended_products})
		else:
			return render(request,'cart/detail.html',{'cart':cart,
													'coupon_apply_form':coupon_apply_form})
	else:
		return redirect ('shop:product_list')
コード例 #21
0
def overview(request):
    cart_obj, cart_created = Cart.objects.new_or_get(request)
    order_obj = None
    if cart_created or cart_obj.items.count() == 0:
        return redirect("cart:cart")

    guest_form = GuestForm()
    coupon_apply_form = CouponApplyForm()

    billing_profile, billing_profile_created = BillingProfile.objects.new_or_get(
        request)
    print(billing_profile)
    address_qs = None
    if billing_profile is not None:
        if request.user.is_authenticated():
            address_qs = Address.objects.filter(
                billing_profile=billing_profile)
        order_obj, order_obj_created = Order.objects.new_or_get(
            billing_profile, cart_obj)
        try:
            order_obj.shipping_address = Address.objects.get(
                billing_profile=billing_profile.id, address_type='shipping')
        except Address.DoesNotExist:
            print("Show message to user, Address is gone?")
            # return redirect("address")
        try:
            order_obj.billing_address = Address.objects.get(
                billing_profile=billing_profile.id, address_type='billing')
        except Address.DoesNotExist:
            print(" Address is gone?")
            # return redirect("address")
        if order_obj.billing_address == None or order_obj.shipping_address == None:
            return redirect("address")

        if order_obj.billing_address or order_obj.shipping_address:
            order_obj.save()

    # print(order_obj.billing_address)
    context = {
        'form': coupon_apply_form,
        "object": order_obj,
        "billing_profile": billing_profile,
        "guest_form": guest_form,
        "address_qs": address_qs,
    }
    return render(request, "order_overview.html", context)
コード例 #22
0
ファイル: views.py プロジェクト: zhousc88/Django-by-example
def cart_detail(request):
    cart = Cart(request)
    if cart:
        for item in cart:
            item['update_quantity_form'] = CartAddProductForm(
                initial={
                    'quantity': item['quantity'],
                    'update': True
                })
            coupon_apply_form = CouponApplyForm()
    else:

        return redirect("shop:product_list")
    return render(request, 'cart/detail.html', {
        'cart': cart,
        'coupon_apply_form': coupon_apply_form
    })
コード例 #23
0
ファイル: views.py プロジェクト: rahulsa123/MyShop
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item["update_quantity_form"] = CartAddProductForm(
            initial={
                "quantity": item["quantity"],
                "override": True
            })
    coupon_apply_form = CouponApplyForm()
    return render(
        request,
        "cart/detail.html",
        {
            "cart": cart,
            "coupon_apply_form": coupon_apply_form
        },
    )
コード例 #24
0
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            item['productID'],
            initial={
                'quantity': item['quantity'],
                'size': item['size'],
                'update_quantity': True
            })

    coupon_apply_form = CouponApplyForm()

    return render(request, 'cart/cart_detail.html', {
        'section': 'shop',
        'cart': cart,
        'coupon_apply_form': coupon_apply_form
    })
コード例 #25
0
def cart_detail(request):
    # форма с подробным описанием товаров
    cart = Cart(request)
    for item in cart:
        item["update_quantity_form"] = CartAddProductForm(
            initial={
                "quantity": item["quantity"],
                "update": True
            })
    # применение купона в форму купона
    coupon_apply_form = CouponApplyForm()
    return render(
        request,
        "cart/detail.html",
        {
            "cart": cart,
            "coupon_apply_form": coupon_apply_form
        },
    )
コード例 #26
0
ファイル: views.py プロジェクト: knkemree/msrugs_backend
def cart_detail(request):

    cart = Cart(request)
    #update burdan oluyor
    for item in cart:
        print(item)
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'override': True
            })

    coupon_apply_form = CouponApplyForm()

    return render(request, 'detail.html', {
        'cart': cart,
        'coupon_apply_form': coupon_apply_form,
        "update": 'update'
    })
コード例 #27
0
def cart_detail(request):
    cart = Cart(request)
    category_list = Category.objects.all()
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            },
            product=item['product'])
    coupon_apply_form = CouponApplyForm()

    return render(
        request, 'shop/cart_detail.html', {
            'cart': cart,
            'coupon_apply_form': coupon_apply_form,
            'title': 'Your shoping Cart',
            'category_list': category_list,
        })
コード例 #28
0
ファイル: views.py プロジェクト: SergePogorelov/myshop
def cart_detail(request):
    cart = Cart(request)
    for item in cart:
        item["update_quantity_form"] = CartAddProductForm(
            initial={"quantity": item["quantity"], "update": True}
        )
    coupon_apply_form = CouponApplyForm()
    r = Recommender()
    cart_products = [item["product"] for item in cart]
    recommended_products = r.suggest_products_for(cart_products, max_result=4)
    return render(
        request,
        "cart/detail.html",
        {
            "cart": cart,
            "coupon_apply_form": coupon_apply_form,
            "recommended_products": recommended_products,
        },
    )
コード例 #29
0
ファイル: views.py プロジェクト: Ramazanov-By/Ruba
def cart_detail(request, category_slug=None):
    category = None
    categories = Category.objects.all()

    if category_slug:
        category = get_object_or_404(Category, slug=category_slug)

    cart = Cart(request)
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={'quantity': item['quantity'],
                     'update': True})

    coupon_apply_form = CouponApplyForm()
    return render(request,
                  'cart/detail.html',
                  {'cart': cart,
                   'category': category,
                   'categories': categories,
                   'coupon_apply_form': coupon_apply_form})
コード例 #30
0
def cart_detail(request):
    '''
    Обработчик отображения корзины
    '''
    cart = Cart(request)

    # Добавление объекта формы для каждого товара в корзине
    # чтобы пользователь мог сохранить новое количество единиц
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(
            initial={
                'quantity': item['quantity'],
                'update': True
            })
    coupon_apply_form = CouponApplyForm()

    return render(request, 'cart/detail.html', {
        'cart': cart,
        'coupon_apply_form': coupon_apply_form
    })