您的位置:首页 > 编程语言 > Python开发

利用COOKIE实现最近浏览商品

2017-09-18 21:54 459 查看
当用户点击物品时,跳转到物品详情页,这时写入一个键为goods的COOKIE来存放所浏览过的商品的number

注:COOKIE不能直接存放中文,会出现编码错误

def detail(request, number):
context = {}
product = Product.objects.get(number=number)
context['product'] = product
response = render(request, 'detail.html', context)
goods = request.COOKIES.get('goods', '')  # 判断是否有常浏览商品这个COOKIE
if goods != '':
goods_list = goods.split(',')
if goods_list.count(number) < 1 and len(goods_list)<6:  # 判断该商品是否唯一
goods = goods+','+str(number)
response.set_cookie('goods', goods, max_age=3600)
else:
pro = str(number)
response.set_cookie('goods', pro)
return response


在usercenter页面去显示最近浏览商品

@user_decorator.login
def usercenter(request):
context = {}
good = []
uname = request.COOKIES.get('uname')
goods = request.COOKIES.get('goods', '') #获取goods这个COOKIE
if goods != '': #判断该COOKIE是否为空
good_list = goods.split(',')
for i in good_list:
good.append(Product.objects.get(number=int(i)))  #取出每个number对应的商品
context['goods']=good
context['uname'] = uname
user = UserInfo.objects.get(username=uname)
if user.relate_address:
context['address'] = Address.objects.filter(belong_to=user, tag=True)
return render(request, 'user_center_info.html', context)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  COOKIE django python