예제 #1
0
    def test_foods_delete_food(self):
        user = User(email='*****@*****.**', username='******', password='******')
        user2 = User(email='*****@*****.**', username='******', password='******')
        cart = Cart()
        cart2 = Cart()
        food1 = FoodItem(name='food1',
                         img_url="",
                         nf_calories=Decimal(1),
                         nf_total_fat=Decimal(2),
                         nf_cholesterol=Decimal(3),
                         nf_saturated_fat=Decimal(4),
                         nf_sodium=Decimal(5),
                         nf_total_carbohydrate=Decimal(6),
                         nf_dietary_fiber=Decimal(7),
                         nf_sugars=Decimal(8),
                         nf_protein=Decimal(9),
                         serving_qty=Decimal(1),
                         serving_unit="Serving")

        food2 = FoodItem(name='food2',
                         img_url="",
                         nf_calories=Decimal(1),
                         nf_total_fat=Decimal(2),
                         nf_cholesterol=Decimal(3),
                         nf_saturated_fat=Decimal(4),
                         nf_sodium=Decimal(5),
                         nf_total_carbohydrate=Decimal(6),
                         nf_dietary_fiber=Decimal(7),
                         nf_sugars=Decimal(8),
                         nf_protein=Decimal(9),
                         serving_qty=Decimal(1),
                         serving_unit="Serving")
        food1.cart = cart
        food2.cart = cart2
        cart.user = user
        cart2.user = user2
        db.session.add_all([user, user2, cart, cart2, food1, food2])
        db.session.commit()

        with self.client:
            self.client.post(url_for('auth.login'),
                             data={
                                 'email': '*****@*****.**',
                                 'username': '******',
                                 'password': '******'
                             })

            # delete food
            self.client.get(url_for('foods.delete_food', id=1))
            cart = current_user.carts.first()
            self.assertTrue(len(cart.foods.all()) == 0)

            # 404 error if food does not exist
            response1 = self.client.get(url_for('foods.delete_food', id=100))
            self.assertTrue(response1.status_code == 404)

            # 403 error if food does not belong to user
            response2 = self.client.get(url_for('foods.delete_food', id=2))
            self.assertTrue(response2.status_code == 403)
예제 #2
0
def addcart(request):
    goodsid = request.GET.get('goodsid')
    goods = Goods.objects.get(pk=goodsid)
    print(goodsid)
    token = request.session.get('token')
    userid = cache.get(token)
    response_data = {}
    if userid:
        user = User.objects.get(pk=userid)
        carts = user.cart_set.filter(goods=goods).filter(user=user)
        response_data['status'] = 1
        if carts:
            cart = carts.first()
            print('cart exist')
            cart.number = cart.number +1
            cart.save()
            response_data['goodsnumber'] = cart.number
            return JsonResponse(response_data)
        else:
            print('cart is not exist')
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

        return JsonResponse(response_data)
    else:
        response_data['status'] = 0
        return JsonResponse(response_data)
예제 #3
0
파일: views.py 프로젝트: buddysh/blshop
def addcart(request):
    token = request.session.get('token')
    userid = cache.get(token)
    goodsid = request.GET.get('goodsid')
    goodsnum = request.GET.get('goodsnum')
    # print(goodsid)
    response_data={
        'user':None,
    }
    if userid:
        user = User.objects.get(pk=userid)
        goods = Goods.objects.get(pk=goodsid)
        cart = Cart.objects.filter(goods=goods).filter(user=user)
        if cart.exists():
            cart=cart.first()
            cart.num = cart.num + int(goodsnum)
            cart.save()
        else:
            cart=Cart()
            cart.goods=goods
            cart.user=user
            cart.num = int(goodsnum)
            cart.save()
        # response_data['user'] = user
        response_data['user_status'] = 1
        response_data['cart_num']=cart.num

        # response_data['goodsid'] = goodsid
    else:
        response_data['user_status'] = 0

    return JsonResponse(response_data)
예제 #4
0
def addcart(request):
    token = request.session.get('token')

    goodsid = request.GET.get('goodsid')

    data = {}

    if token:
        user = User.objects.get(token=token)

        goods = Goods.objects.get(pk=goodsid)

        carts = Cart.objects.filter(user=user).filter(goods=goods)

        if carts.exists():
            cart = carts.first()
            cart.number = cart.number + 1
            cart.save()

        else:
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()
        return JsonResponse({
            'msg': '{},添加购物车成功'.format(goods.productlongname),
            'number': cart.number,
            'status': 1
        })

    else:
        data['msg'] = '请登录后操作!'
        data['status'] = -1
        return JsonResponse(data)
예제 #5
0
def addcart(request):
    #获取token
    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('goodsid')
            goods = Goods.objects.get(pk=goodsid)
            carts = Cart.objects.filter(user=user).filter(goods=goods)
            if carts.exists():
                cart = carts.first()
                cart.number = cart.number + 1
                cart.save()
            else:
                cart = Cart()
                cart.user = user
                cart.goods = goods
                cart.number = 1
                cart.save()
            response_data['status'] = 1
            response_data['number'] = cart.number
            response_data['msg'] = '添加{} 购物车成功,数量为:{}'.format(
                cart.goods.productlongname, cart.number)
            return JsonResponse(response_data)
    response_data['status'] = -1
    response_data['msg'] = '请登录后操作'
    return JsonResponse(response_data)
예제 #6
0
def addgoods(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('goodsid')
            goodsnum = int(request.GET.get('goodsNum'))
            goods = GOODs.objects.get(pk=goodsid)
            # 判断需要添加的商品是否已经存在
            carts = Cart.objects.filter(user=user).filter(goods=goods)

            if carts.exists():
                cart = carts.first()
                cart.number += goodsnum
                cart.save()
            else:
                cart = Cart()
                cart.user = user
                cart.goods = goods
                cart.number = goodsnum
                cart.save()

            response_data['status'] = 1
            response_data['number'] = cart.number
            response_data['msg'] = '添加{}购物车成功:{}'.format(
                cart.goods.productlongname, cart.number)
            return JsonResponse(response_data)

    response_data['status'] = -1
    response_data['msg'] = '请登录后操作'
    return JsonResponse(response_data)
예제 #7
0
파일: views.py 프로젝트: 15779896112/mml
def addcart(request):
    token = request.session.get('token')
    userid = cache.get(token)
    user = None
    if userid:
        user = User.objects.get(pk=userid)
        goodsid = request.GET.get('goodsid')

        goods = Goods.objects.get(pk=goodsid)
        cart = Cart()
        carts = Cart.objects.filter(goods=goods).filter(user=user)
        if carts.exists():
            cart = carts.first()
            cart.number = int(cart.number) + int(request.GET.get('num'))
            cart.total = float(cart.goods.price[1:]) * int(cart.number)
            cart.save()
        else:
            cart.user = user
            cart.goods = goods
            cart.number = request.GET.get('num')
            cart.total = float(goods.price[1:]) * int(cart.number)
            cart.save()
        # 统计
        carts = Cart.objects.filter(user=user)
        sum = 0
        num = 0
        for cart in carts:
            sum += float(cart.goods.price[1:]) * int(cart.number)
            num += cart.number

        data = {'status': 1, 'msg': '加入购物车成功!', 'num': num, "sum": sum}
    else:
        data = {'status': 0, 'msg': '未登录!'}
    return JsonResponse(data)
예제 #8
0
def addcart(request):
    booksid=request.GET.get('booksid')
    token=request.session.get('token')
    print(booksid)
    data={}
    if token:
        user=User.objects.get(token=token)
        books = Books.objects.get(pk=booksid)
        carts=Cart.objects.filter(user=user).filter(books=books)
        if carts.exists():

            cart=carts.first()
            cart.number=cart.number+1
            cart.save()

        else:
            cart=Cart()
            cart.user=user
            cart.books=books
            cart.number=1
            cart.save()
        return JsonResponse({'msg':'{},添加购物车成功'.format(books.productname),'number':cart.number,'status':1})

    else:
        data['msg']="please login!"
        data['status']=-1
        return JsonResponse(data)
예제 #9
0
def addcart(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('goodsid')
            goods = Goods.objects.get(pk=goodsid)
            number = request.GET.get('number')
            print(number)
            # 商品不存在: 添加新记录
            # 商品存在: 修改number
            carts = Cart.objects.filter(user=user).filter(goods=goods)
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = number
            cart.save()

            response_data = '添加 {} 购物车成功: {}'.format(cart.goods, cart.number)

            return JsonResponse(response_data)
예제 #10
0
def quicklybuy(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('goodsid')
            num = int(request.GET.get('number1'))
            goods = Goods.objects.get(pk=goodsid)
            carts = Cart.objects.filter(user=user).filter(goods=goods)
            if carts.exists():
                cart = carts.first()
                cart.number = cart.number + num
                cart.save()
            else:
                cart = Cart()
                cart.user = user
                cart.goods = goods
                cart.number = num
                cart.save()

            response_data['status'] = 1
            response_data['number'] = cart.number
            response_data['msg'] = '添加 {} 购物车成功: {}'.format(cart.goods.productname, cart.number)
            return JsonResponse(response_data)
    response_data['status'] = -1
    response_data['msg'] = '请登录后操作'
    return JsonResponse(response_data)
예제 #11
0
def add_cart(request):
    token = request.session.get('token')
    userid = cache.get(token)

    goodsid = request.GET.get('goodsid')

    number = int(request.GET.get('number'))
    print(number)

    if userid:

        user = User.objects.get(pk=userid)

        goods = Goods.objects.get(pk=goodsid)

        cart = Cart.objects.filter(user=user).filter(goods=goods)

        if cart.exists():
            cart = cart.first()
            cart.number = cart.number + number

            cart.save()
        else:
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = number
            cart.save()

        return JsonResponse({'msg': '{}-添加购物车成功,数量为-{}'.format(cart.goods.name, cart.number), 'status': 1})
    else:
        return JsonResponse({'msg': '请先登录,后操作', 'status': 0})
예제 #12
0
파일: views.py 프로젝트: HelloCXD/axf
def addcart(request):
    goodsid = request.GET.get('goodsid')
    token = request.session.get('token')

    responseData = {'msg': '添加购物车成功', 'status': 1}

    if token:  # 已登录
        user = User.objects.get(token=token)
        goods = Goods.objects.get(pk=goodsid)

        # 判断商品是否在购物车中
        carts = Cart.objects.filter(user=user).filter(goods=goods)
        if carts.exists():
            cart = carts.first()
            cart.number = cart.number + 1
            cart.save()
            responseData['number'] = cart.number
        else:
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

            responseData['number'] = cart.number

        return JsonResponse(responseData)
    else:  # 未登录
        responseData['msg'] = '请登录后操作'
        responseData['status'] = -1
        return JsonResponse(responseData)
예제 #13
0
파일: views.py 프로젝트: q894257739/mixin
def addcart(request):
    goodsid = request.GET.get('goodsid')
    token = request.session.get('token')
    userid = cache.get(token)

    if userid:
        user = User.objects.get(pk=userid)
        goods = Goods.objects.get(id=goodsid)
        carts = Cart.objects.filter(user=user).filter(goods=goods)
        if carts.exists():
            cart = carts.first()
            cart.number = cart.number + 1
            cart.save()
        else:
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

        response_data = {'msg': '成功添加商品', 'status': 1, 'number': cart.number}

    else:
        response_data = {'msg': '未登录', 'status': -1}

    return JsonResponse(response_data)
예제 #14
0
def clone(id):
    cart = Cart.query.get_or_404(id)
    foods = cart.foods.all()

    # clone cart
    cart_copy = Cart()
    cart_copy.user = current_user

    for food in foods:
        food_copy = FoodItem(name=food.name,
                             img_url=food.img_url,
                             nf_calories=food.nf_calories,
                             nf_total_fat=food.nf_total_fat,
                             nf_saturated_fat=food.nf_saturated_fat,
                             nf_cholesterol=food.nf_cholesterol,
                             nf_sodium=food.nf_sodium,
                             nf_total_carbohydrate=food.nf_total_carbohydrate,
                             nf_dietary_fiber=food.nf_dietary_fiber,
                             nf_sugars=food.nf_sugars,
                             nf_protein=food.nf_protein,
                             serving_unit=food.serving_unit,
                             serving_qty=food.serving_qty)
        food_copy.cart = cart_copy
        db.session.add(food_copy)

    cart_copy.update_nutrients()
    db.session.add(cart_copy)
    db.session.commit()

    flash('Cart Has Been Cloned And Added To Your Carts')
    return redirect(url_for('carts.cart', id=cart_copy.id))
예제 #15
0
파일: views.py 프로젝트: GyokuShou/axf
def addcart(request):
    token = request.session.get('token')
    response_data = {}
    if token:
        userid = cache.get(token)
        user = User.objects.filter(pk=userid)
        if user.exists():
            user = user.first()
            goodsid = request.GET.get('goodsid')
            good = Goods.objects.filter(pk=goodsid).first()
            cart = Cart.objects.filter(user=user).filter(goods=good)
            if cart.exists():
                cart = cart.first()
                cart.number += 1
                cart.save()
            else:
                cart = Cart()
                cart.user = user
                cart.goods = good
                cart.number = 1
                cart.save()
            response_data['status'] = 1
            response_data['num'] = cart.number
            return JsonResponse(response_data)

    response_data['status'] = -1
    return JsonResponse(response_data)
예제 #16
0
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)
예제 #17
0
  def test_relationships(self):
    food1 = FoodItem(name='food1',
    img_url="",
    nf_calories=Decimal(1),
    nf_total_fat=Decimal(2),
    nf_cholesterol=Decimal(3),
    nf_saturated_fat=Decimal(4),
    nf_sodium=Decimal(5),
    nf_total_carbohydrate=Decimal(6),
    nf_dietary_fiber=Decimal(7),
    nf_sugars=Decimal(8),
    nf_protein=Decimal(9))

    food2 = FoodItem(name='food2',
    img_url="",
    nf_calories=Decimal(11),
    nf_total_fat=Decimal(12),
    nf_cholesterol=Decimal(13),
    nf_saturated_fat=Decimal(14),
    nf_sodium=Decimal(15),
    nf_total_carbohydrate=Decimal(16),
    nf_dietary_fiber=Decimal(17),
    nf_sugars=Decimal(18),
    nf_protein=Decimal(19))

    cart1 = Cart()
    cart2 = Cart()

    user1 = User(email="*****@*****.**",username="******",password="******")
    user2 = User(email="*****@*****.**",username="******",password="******")

    food1.cart = cart1
    cart1.user = user1
    food2.cart = cart2
    cart2.user = user2

    # check relationships
    self.assertTrue(food1.cart == cart1)
    self.assertTrue(cart1.user == user1)
    self.assertTrue(food2.cart == cart2)
    self.assertTrue(cart2.user == user2)

    # test relationships are showed in __repr__
    self.assertTrue(food1.__repr__() == 'food1 in Cart of <User one>')
    self.assertTrue(cart1.__repr__() == 'Cart of <User one>')
    self.assertTrue(user1.__repr__() == '<User one>')
예제 #18
0
  def test_followed_carts(self):
    u1 = User(email='*****@*****.**', username='******', password='******')
    u2 = User(email='*****@*****.**',username='******',password='******')
    cart1 = Cart()
    cart2 = Cart()
    cart1.user=u2
    cart2.user=u2
    db.session.add_all([u1,u2])
    db.session.commit()

    # no carts when user is not following other users
    followed_carts = u1.followed_carts.all()
    self.assertTrue(len(followed_carts) == 0)

    # test followed_carts when following other user
    u1.follow(u2)
    followed_carts = u1.followed_carts.all()
    self.assertTrue(len(followed_carts) == 2)
예제 #19
0
def addcart(request):
    # 思路
    # 将ajax请求的goodsid获取
    # 即当前用户点击的那个商品
    # goodsid
    # 找到对应的商品
    goodsid = request.GET.get('goodsid')
    print(goodsid)
    # 用户---
    token = request.session.get('token')

    responseData = {'msg': '', 'status': ''}

    if token:  # 登录
        user = User.objects.get(token=token)
        print(user.name)
        goods = Goods.objects.get(pk=goodsid)
        print(goods.productname)

        carts = Cart.objects.filter(goods=goods).filter(user=user)
        if carts.exists():  # 存在
            # 取第一个
            cart = carts.first()
            cart.number = cart.number + 1
            # 如果库存数量比我添加的数据还要小
            # 那么添加的数据只能为库存数量
            if goods.storenums < cart.number:
                cart.number = goods.storenums
            cart.save()
            responseData['msg'] = '添加购物车成功'
            responseData['status'] = 1
            responseData['number'] = cart.number
            return JsonResponse(responseData)
        else:  # 不存在
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

            responseData['msg'] = '添加购物车成功'
            responseData['status'] = 1
            responseData['number'] = cart.number
            return JsonResponse(responseData)

    else:  # 未登录
        # ajax请求操作,是重定向不了的!
        # return redirect('axf:login')

        responseData['msg'] = '请登录后操作'
        responseData['status'] = '-1'

        return JsonResponse(responseData)
예제 #20
0
def addcart(request):

    token = request.session.get('token')

    goodid = request.GET.get('goodid')

    if token:

        userid = cache.get(token)
        user = User.objects.get(pk=userid)

        goods = Goods.objects.get(pk=goodid)

        carts = Cart.objects.filter(user=user).filter(goods=goods)

        # print(user,goods,carts)
        # print(type(user))

        if carts.exists():
            # print(111111111)
            cart = carts.first()
            # print(222222222)
            cart.number = cart.number + 1
            # print(333333333)
            cart.save()

        else:
            # print(4444444444444)
            cart = Cart()
            # print(5555555555)
            cart.user = user
            # print(6666666666)
            cart.goods = goods
            # print(7777777777777777)
            cart.number = 1
            # print(888888888888)
            cart.save()

        return JsonResponse({
            'msg':
            '{}-加入购物车-数量为-{}'.format(cart.goods.productlongname, cart.number),
            'status':
            1,
            'number':
            cart.number
        })
    else:

        return JsonResponse({'msg': '请先登录,再进行操作', 'status': 0})
예제 #21
0
파일: views.py 프로젝트: nextbeta/mogujie
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})
예제 #22
0
def addcart(request):
    # 获取token  >> user
    token = request.session.get('token')

    # 获取商品id
    goodsid = request.GET.get('goodsid')
    print(goodsid)

    data = {}

    if token:  # 登录
        # 获取用户
        user = User.objects.get(token=token)
        # 获取商品
        goods = Goods.objects.get(pk=goodsid)

        # 1、 第一次添加的商品是不存在的,要往数据库中添加一条新记录
        # 2、 商品已存在,即修改商品数量

        # 判断需要添加的商品是否存在
        carts = Cart.objects.filter(user=user).filter(goods=goods)
        if carts.exists():  # 存在
            cart = carts.first()
            cart.number = cart.number + 1
            cart.save()
        else:  # 不存在
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

        return JsonResponse({
            'msg': '{},添加购物车成功'.format(goods.productlongname),
            'number': cart.number,
            'status': 1
        })

    else:  # 没登录
        # ajax操作中,不能重定向
        # ajax异步请求操作,数据的传输
        # 即ajax请求,如果想页面跳转(服务器重定向不了),客户端处理
        # return redirect('axf:login')
        data['msg'] = '请登录后操作!'
        data['status'] = -1
        return JsonResponse(data)
예제 #23
0
def addcart(request):
    # 获取token
    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('goodsid')
            goods = Goods.objects.get(pk=goodsid)

            # 商品不存在: 添加新记录
            # 商品存在: 修改number
            carts = Cart.objects.filter(user=user).filter(goods=goods)
            if carts.exists():
                cart = carts.first()
                cart.number = cart.number + 1
                cart.save()
            else:
                cart = Cart()
                cart.user = user
                cart.goods = goods
                cart.number = 1
                cart.save()

            response_data['status'] = 1
            response_data['number'] = cart.number
            response_data['msg'] = '添加 {} 购物车成功: {}'.format(
                cart.goods.productlongname, cart.number)

            return JsonResponse(response_data)

    # 未登录
    # 因为是ajax操作,所以重定向是不可以的!
    # return redirect('axf:login')

    response_data['status'] = -1
    response_data['msg'] = '请登录后操作'

    return JsonResponse(response_data)
예제 #24
0
def addtocart(request):
    # goodsid
    goodsid = request.GET.get('goodsid')
    token = request.session.get('token')

    responseData = {
        'msg':'',
        'status':''
    }

    if token:   # 登录
        user = User.objects.get(token=token)
        goods = Goods.objects.get(pk=goodsid)

        carts = Cart.objects.filter(goods=goods).filter(user=user)
        if carts.exists():  # 存在
            cart = carts.first()
            cart.number = cart.number + 1
            if 0 < cart.number:
                cart.number = 1
            cart.save()
            responseData['msg'] = '添加购物车成功'
            responseData['status'] = 1
            responseData['number'] = cart.number
            return JsonResponse(responseData)
        else:           # 不在
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

            responseData['msg'] = '添加购物车成功'
            responseData['status'] = 1
            responseData['number'] = cart.number
            return JsonResponse(responseData)
    else:       # 未登录
        # ajax请求操作,是重定向不了的!
        # return redirect('axf:login')

        responseData['msg'] = '请登录后操作'
        responseData['status'] = '-1'

        return JsonResponse(responseData)
예제 #25
0
def addcart(request):
    # 有token,就知道是谁
    token = request.session.get('token')

    if token:  # 加操作(有登录)
        user = User.objects.get(token=token)
        goodsid = request.GET.get('goodsid')
        goods = Goods.objects.get(pk=goodsid)

        # 第一次操作: 添加一条新记录
        # 后续操作: 只需要修改number

        # 判断该商品是否存在
        carts = Cart.objects.filter(user=user).filter(goods=goods)
        if carts.exists():  # 存在,修改numbner
            cart = carts.first()
            cart.number = cart.number + 1
            cart.save()
        else:  # 添加一条新的记录
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

        return JsonResponse({
            'msg': '{}-添加购物车成功!'.format(goods.productlongname),
            'status': 1,
            'number': cart.number
        })

    else:  # 跳转到登录(未登录)
        # 在ajax是不能使用重定向
        # ajax更多就是用于数据的传输(数据交互)

        # 问题: 没有登录,就需要跳转到登录页面;
        # 但在服务端重定向能不能用?   客户端
        # return redirect('axf:login')
        return JsonResponse({'msg': '请登录后操作!', 'status': 0})
예제 #26
0
def addcart(request):
    goodsid = request.GET.get('goodsid')
    token = request.session.get('token')

    responseData = {
        'msg': '添加购物车成功',
        'status': 1  # 1标识添加成功,0标识添加失败,-1标识未登录
    }

    if token:  # 登录 [直接操作模型]
        # 获取用户
        user = User.objects.get(token=token)
        # 获取商品
        goods = Goods.objects.get(pk=goodsid)

        # 商品已经在购物车,只修改商品个数
        # 商品不存在购物车,新建对象(加入一条新的数据)
        carts = Cart.objects.filter(user=user).filter(goods=goods)
        if carts.exists():  # 修改数量
            cart = carts.first()
            cart.number = cart.number + 1
            cart.save()
            responseData['number'] = cart.number
        else:  # 添加一条新记录
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1
            cart.save()

            responseData['number'] = cart.number

        return JsonResponse(responseData)
    else:  # 未登录 [跳转到登录页面]
        # 由于addcart这个是 用于 ajax操作, 所以这里是不能进行重定向!!
        # return redirect('axf:login')
        responseData['msg'] = '未登录,请登录后操作'
        responseData['status'] = -1
        return JsonResponse(responseData)
예제 #27
0
def addcart(request):
    # 获取token
    token = request.session.get('token')

    # 响应数据
    response_data = {}

    # 缓存
    if token:
        userid = cache.get(token)
        # print(userid)    #获取用户id
        if userid:  # 已经登录
            user = User.objects.get(pk=userid)
            goodsid = request.GET.get('goodsid')
            goods = Goods.objects.get(pk=goodsid)
            # print(user,goodsid)  #点击商品后查看是否能获取对应id
            # 商品不存在: 添加新记录  商品存在: 修改number
            carts = Cart.objects.filter(user=user).filter(goods=goods)
            if carts.exists():
                cart = carts.first()
                cart.number = cart.number + 1
                cart.save()
            else:
                cart = Cart()
                cart.user = user
                cart.goods = goods
                cart.number = 1
                cart.save()

            response_data['status'] = 1  #添加成功
            response_data['number'] = cart.number
            response_data['msg'] = '添加 {} 购物车成功: {}'.format(
                cart.goods.productlongname, cart.number)

            return JsonResponse(response_data)
            # return HttpResponse('添加商品到购物车')
    response_data['status'] = -1  #未登录状态
    response_data['msg'] = '请登录后操作'
    return JsonResponse(response_data)
예제 #28
0
def addtocart(request):
    goodid = request.GET.get('goodid')
    token = request.session.get('token')

    responseDate = {}

    if token:  #已登录
        user = User.objects.get(token=token)
        goods = Goods.objects.get(pk=goodid)
        carts = Cart.objects.filter(user=user).filter(goods=goods)

        if carts.exists():  #如果存在cart
            cart = carts.first()
            cart.goodnumber += 1
            # print(cart.goodnumber)
            if cart.goodnumber > int(goods.storenums):
                cart.goodnumber = goods.storenums
            cart.save()
            responseDate['msg'] = '添加到购物车成功'
            responseDate['status'] = '1'
            responseDate['number'] = cart.goodnumber
            return JsonResponse(responseDate)
        else:  #如果不存在cart,创建
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.goodnumber = 1
            cart.save()

            responseDate['msg'] = '添加到购物车成功'
            responseDate['status'] = '1'
            responseDate['number'] = cart.goodnumber
            return JsonResponse(responseDate)

    else:
        responseDate['msg'] = '未登录'
        responseDate['status'] = '-1'
        return JsonResponse(responseDate)
예제 #29
0
파일: views.py 프로젝트: Dargon-chen/axf
def addtocart(request):
    # goodsid
    goodsid = request.GET.get('goodsid')
    responseData = {'msg': '', 'status': '', 'number': 0}

    token = request.session.get('token')
    if token:  # 登陆
        user = User.objects.get(userToken=token)
        goods = Goods.objects.get(pk=goodsid)
        carts = Cart.objects.filter(user=user).filter(goods=goods)
        if carts.exists():
            cart = carts.first()
            cart.number = cart.number + 1
            if goods.storenums < cart.number:
                cart.number = goods.storenums
            cart.save()
            responseData['msg'] = '添加成功'
            responseData['status'] = 1
            responseData['number'] = cart.number
            return JsonResponse(responseData)
        else:
            cart = Cart()
            cart.user = user
            cart.goods = goods
            cart.number = 1

            cart.save()

            responseData['msg'] = '添加成功'
            responseData['status'] = 1
            responseData['number'] = cart.number
            return JsonResponse(responseData)
    else:  # 未登录
        # ajax不能重定向
        # return render(request,'mine/login.html')
        responseData['msg'] = '请登陆后操作'
        responseData['status'] = -1
        return JsonResponse(responseData)
예제 #30
0
def addcart(request):
    token = request.session.get('username')
    print('添加购物车')
    print('token',token)
    user = User.objects.filter(username=token)[0]
    goodid = request.GET.get('goodid')
    good = Mobile.objects.get(pk=goodid)
    if token:
        # pass
        cart = Cart.objects.filter(user=user,goods=good)
        if cart:
            cart = cart[0]
            cart.number +=1
        else:
            cart = Cart()
            cart.user = user
            cart.goods = good
            cart.number = 1
        cart.save()
        return JsonResponse({'msg':'ok'})
    else:
        print(token)
        return redirect(reverse('app:registered'))