显示数量
- 在商品应用中创建视图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>