显示数量

  • 在商品应用中创建视图calc_count,统计当前用户的数量
def calc_count(uid):
    # c=CartInfo.objects.filter(user_id=request.session.get('uid')).count()
    c=CartInfo.objects.filter(user_id=uid).aggregate(Sum('count'))
    print c
    if c.get('count__sum')==None:
        return 0
    else:
        return c.get('count__sum')
  • 在首页、列表页、详细页的顶部logo行,需要显示购物车中商品数量
    • 如果用户未登录则显示0
    • 如果用户登录则使用ajax方式请求数量并显示
    • 在base.html中代码如下
        <div class="guest_cart fr">
            <a href="#" class="cart_name fl">我的购物车</a>
            <div class="goods_count fl" id="show_count">0</div>
        </div>
        <script>
        if($('.login_btn').text().indexOf('登录')==-1){
            $.get('/cart/count/',function (data) {
                $('#show_count').text(data.count);
            });
        }
        </script>