def subToCart(request): cartid = request.POST.get('cartid') cart = AxfCart.objects.get(pk=cartid) num = cart.c_goods_num user_id = request.session.get('user_id') data = { 'msg': 'ok', 'status': 200, } if num == 1: cart.delete() else: cart.c_goods_num = cart.c_goods_num - 1 cart.save() data['c_goods_num'] = cart.c_goods_num data['total_price'] = get_total_price(user_id) return JsonResponse(data=data)
def makeOrder(request): # 在订单的页面 应该展示的是ordergoods的数据 # ordergoods依赖于order # order依赖于user user_id = request.session.get('user_id') # user_id = request.user_id order = AxfOrder() order.o_user_id = user_id order.o_price = get_total_price(user_id) order.save() carts = AxfCart.objects.filter(c_user_id=user_id).filter(c_is_select=True) for cart in carts: ordergoods = AxfOrderGoods() ordergoods.og_order = order ordergoods.og_goods = cart.c_goods ordergoods.og_num = cart.c_goods_num ordergoods.save() cart.delete() data = {'msg': 'ok', 'status': 200, 'order_id': order.id} return JsonResponse(data=data)
def changeStatus(request): cartid = request.GET.get('cartid') cart = AxfCart.objects.get(pk=cartid) cart.c_is_select = not cart.c_is_select cart.save() user_id = request.session.get('user_id') # 在点击修改选中状态之后 再次去判断了 数据库中 是否购物车中的数据全部选中 is_all_select = not AxfCart.objects.filter(c_user_id=user_id).filter( c_is_select=False).exists() data = { 'msg': 'ok', 'status': 200, 'c_is_select': cart.c_is_select, 'is_all_select': is_all_select, 'total_price': get_total_price(user_id) } return JsonResponse(data=data)
def allSelect(request): cartlist = request.GET.get('cartlist') # ['13', '14', '15'] cartid_list = cartlist.split('#') # 将当前用户的购物车中的在cartid_list中的数据 的c_is_select的值取反 cart_list = AxfCart.objects.filter(id__in=cartid_list) for cart in cart_list: cart.c_is_select = not cart.c_is_select cart.save() user_id = request.session.get('user_id') data = { 'msg': 'ok', 'status': 200, 'total_price': get_total_price(user_id) } return JsonResponse(data=data)
def cart(request): # 当前用户的购物车 # user_id = request.session.get('user_id') user_id = request.user_id carts = AxfCart.objects.filter(c_user_id=user_id) # 判断数据库中的选中状态 是否为全选 is_all_select = not AxfCart.objects.filter(c_user_id=user_id).filter( c_is_select=False).exists() # 返回一个总计的数据 total_price = get_total_price(user_id) context = { 'carts': carts, 'is_all_select': is_all_select, 'total_price': total_price } return render(request, 'axf/main/cart/cart.html', context=context)