def addtocart(request): token = request.session.get('token') response_data = {} if token: userid = cache.get(token) if userid: # 已经登录 user = User.objects.get(pk=userid) goodsid = request.GET.get('goodid') color = request.GET.get('color') size = request.GET.get('size') number = request.GET.get('number') goods = Goods.objects.get(pk=goodsid) carts = Cart.objects.filter(user=user).filter(goods=goods) if carts.exists(): carts1 = carts.filter(color=color).filter(size=size) if carts1.exists(): cart = carts1.first() cart.number = int(number) + cart.number cart.save() else: cart = Cart() cart.goods = goods cart.user = user cart.number = number cart.size = size cart.color = color cart.save() else: cart = Cart() cart.goods = goods cart.user = user cart.number = number cart.size = size cart.color = color cart.save() response_data['status'] = 1 response_data['msg'] = '添加 购物车成功' return JsonResponse(response_data) else: response_data['status'] = -1 response_data['msg'] = '请登录后操作' return JsonResponse(response_data)
def shopping(request): data = {} if request.method == 'GET': token = request.session.get('token') if token: user = User.objects.get(token=token) cart = Cart.objects.filter(user=user).filter(is_delete=0) data['cart_num'] = cart.count() data['user_name'] = user.name data['cart'] = cart return render(request, 'shopping.html', context=data) else: return render(request, 'shopping.html') else: token = request.session.get('token') if token: user = User.objects.get(token=token) name = request.POST.get('name') number = request.POST.get('number') price = request.POST.get('price') size = request.POST.get('size') smallimg = request.POST.get('smallimg') carts = Cart.objects.filter(user=user).filter(name=name).filter( smallimg=smallimg) if carts.filter(size=size).filter(is_delete=0).exists(): cart = carts.first() cart.number += eval(number) cart.save() else: cart = Cart() cart.user = user cart.name = name cart.price = price cart.size = size cart.smallimg = smallimg cart.number = number cart.is_delete = 0 cart.save() # 1、 第一次添加的商品是不存在的,要往数据库中添加一条新记录 return JsonResponse({ 'msg': '{},添加购物车成功'.format(name), 'number': cart.number, 'status': 1 }) else: return JsonResponse({'msg': '添加购物车失败,请先登录', 'status': 0})