def index(request): '''浏览购物车''' context = loadinfo(request) if 'shoplist' not in request.session: # 会话中没有shoplist购物车 request.session['shoplist'] = {} context['shoplist'] = request.session['shoplist'] return render(request, "cart/cart_list.html", context)
def index(request): """浏览购物车""" context = loadinfo(request) # 缓存/会话session中没有ShopList(购物车列表),默认指定为空 if 'ShopList' not in request.session: request.session['ShopList'] = {} context['shoplist'] = request.session['ShopList'] return render(request, 'cart/cart_list.html', context)
def detail(request, gid): '''商品详情页''' context = loadinfo(request) # 加载商品详情信息 ob = Goods.objects.get(id=gid) ob.clicknum += 1 # 点击量加1 ob.save() context['good'] = ob return render(request, "goods/detail.html", context)
def lists(request, page=1): """商品列表页(搜索&分页)""" context = loadinfo(request) # 获取商品信息查询对象 goods = Goods.objects # 根据条件筛选商品列表 tid = request.GET.get('tid', None) if tid: # 根据tid筛选 goods = goods.filter(typeid=tid) kw = request.GET.get('kw') if kw: # 根据关键字模糊搜索 goods = goods.filter(goods__contains=kw) goods = goods.all().order_by('-addtime') # 分页 paginator = Paginator(goods, per_page=2) try: goods = paginator.page(page) # 获取指定页的商品 print("当前页的商品信息:", goods.object_list) except PageNotAnInteger: # 如果请求的页数不是整数,返回第一页 goods = paginator.page(1) except EmptyPage: # 如果请求的页数不在合法的页数范围内,返回结果的最后一页 goods = paginator.page(paginator.num_pages) except InvalidPage: # 如果请求的页数不存在,重定向页面 return Http404('找不到页面的内容') # 封装信息加载模板输出 context['goods'] = goods context['paginator'] = paginator print(goods) return render(request, 'goods/list.html', context)
def lists(request, page=1): '''商品列表页(搜索&分页)''' context = loadinfo(request) # 获取商品信息查询对象 goods = Goods.objects # 根据类型id查询 tid = request.GET.get('tid', None) if tid: goods = goods.filter(typeid=tid) # 根据typeid 查询goods # 关键字查询 kw = request.GET.get('kw', None) if kw: # 过滤goods字段 goods = goods.filter(goods__contains=kw) goods = goods.all() paginator = Paginator(goods, 4) # 4以条每页创建分页对象 try: goods = paginator.page(page) except PageNotAnInteger: # 如果请求的页数不是整数, 返回第一页。 goods = paginator.page(1) except EmptyPage: # 如果请求的页数不在合法的页数范围内,返回结果的最后一页。 goods = paginator.page(paginator.num_pages) except InvalidPage: # 如果请求的页数不存在, 重定向页面 return HttpResponse('找不到页面的内容') # 封装信息加载模板输出 context['goods'] = goods context['paginator'] = paginator return render(request, "goods/list.html", context=context) # 判断添加搜索条件 """