Beispiel #1
0
 def post(self, request):
     #在session中存取数据时使用到多级字典时需要实时更新
     request.session.modified = True
     #获取用户当前操作类型
     flag = request.POST.get('flag', '')
     if flag == 'add':
         cartManagerObj = getCartManger(request)
         cartManagerObj.add(**request.POST.dict())
     elif flag == 'plus':
         cartManagerObj = getCartManger(request)
         cartManagerObj.update(step=1, **request.POST.dict())
     elif flag == 'minus':
         cartManagerObj = getCartManger(request)
         # {'flag':'plus','goodsid':'1',...}
         cartManagerObj.update(step=-1, **request.POST.dict())
     elif flag == 'delete':
         cartManagerObj = getCartManger(request)
         cartManagerObj.delete(**request.POST.dict())
     return HttpResponseRedirect('/cart/queryAll/')
Beispiel #2
0
    def post(self, request):

        # session中存取数据时,如果使用到多级字典,则需要将session设置成实施更新,
        # 默认session只对第一级字典进行实时更新,不会对嵌套字典实时更新
        request.session.modified = True

        # 获取用户当前操作类型
        flag = request.POST.get('flag', '')
        if flag == 'add':
            cart_manger = getCartManger(request)
            # request.POST是一个类字典对象,通过 .dict()转换成字典对象
            cart_manger.add(**request.POST.dict())
        elif flag == 'plus':
            cart_manger = getCartManger(request)
            # {'flag':'plus', 'goodsid':1,...}
            cart_manger.update(step=1, **request.POST.dict())
        elif flag == 'minus':
            cart_manger = getCartManger(request)
            cart_manger.update(step=-1, **request.POST.dict())
        elif flag == 'delete':
            cart_manger = getCartManger(request)
            cart_manger.delete(**request.POST.dict())
        return redirect('/cart/queryAll/')
Beispiel #3
0
 def post(self,request):
     #让数据实时保存在session数据中
     request.session.modified = True
     flag = request.POST.get('flag','')
     cartManager = getCartManger(request)
     #添加至购物车
     if flag == 'add':
         # cartItem = request.POST.dict()
         # cartItem.pop('flag')
         cartManager.add(**request.POST.dict())
     #增加操作
     if flag == 'plus':
         cartManager.update(step=1,**request.POST.dict())
     #减少操作
     if flag == 'minus':
         cartManager.update(step=-1,**request.POST.dict())
     if flag == 'delete':
         cartManager.delete(**request.POST.dict())
     return HttpResponseRedirect('/cart/queryAll/')
Beispiel #4
0
def toOrderView(request):
    #获取购物车商品对象
    cartitems = request.GET.get('cartitems', '')
    cartitemsList = jsonpickle.loads(cartitems)
    cartitemsObjList = [
        getCartManger(request).get_cartitems(**ci) for ci in cartitemsList
        if ci
    ]
    #获取用户地址
    user = jsonpickle.loads(request.session.get('user', ''))
    addr = user.address_set.get(isdefault=True)
    #获取商品总金额
    totalPrice = 0
    # print(cartitems)
    for cartitem in cartitemsObjList:
        totalPrice += cartitem.getTotalPrice()

    return render(
        request, 'order.html', {
            'cartitemsObjList': cartitemsObjList,
            'addr': addr,
            'totalPrice': totalPrice
        })
Beispiel #5
0
 def get(self, request):
     # 获取cartManager对象
     cartManagerObj = getCartManger(request)
     cartItemList = cartManagerObj.queryAll()
     return render(request, 'cart.html', {'cartItemList': cartItemList})
Beispiel #6
0
 def get(self, request):
     # 获取cartManager对象
     cart_manger = getCartManger(request)
     cart_item_list = cart_manger.queryAll()
     return render(request, 'cart.html', {'cart_item_list': cart_item_list})
Beispiel #7
0
def queryAll(request):
    cartManager = getCartManger(request)
    cartList = cartManager.queryAll()
    return render(request,'cart.html',{'cartList':cartList})