使用背景:
前端根据用户选择的模块,结合ajax实现局部刷新,进到到具体模块页面后,返回,希望保持到原来选择的模块上,这就需要保存当前选择的模块id;
尝试:
1、使用Js的设置cookie,doucument.cookie = 设置cookie,设置之后,cookie值没有;要在服务器端启动,才能正常设置;不用这个方式;
2、使用Django里面的cookie,实现cookie的设置;需要引入 from django.shortcuts import render, redirect, HttpResponse;
设置cookie
实例化设置cookie的对象,以下三种方式
Req = HttpResponse(...) 或 rep = render(request, ...) 或req=redirect()
rep.set_cookie(key,value,...)
可以增加max_age=10,设置cookie的最大超时时间
获取cookie
c_mode_id = request.COOKIES.get("kw_mode_id")
可以增加判断,如果获取到的cookie为空时,可以设置默认值
使用cookie
通常需要结合获取cookie一起使用,通过将要显示的数据和cookie的值,返回给页面,重新进行渲染
实现代码:
def post(self, request): req = redirect('keywords') req.set_cookie("kw_mode_id", 3) # 设置cookie值 return req
class testView(View): def get(self, request): models = Test.objects.filter(status=False).all() c_mode_id = request.COOKIES.get("kw_mode_id") # 根据key,获取对应cookie的值 if c_mode_id is None: c_mode_id = 7 return render(request, 'page/tests.html', {'data': models, 'c_mode_id': int(c_mode_id)})标签:req,request,Django,cookie,mode,设置,Cookie,id From: https://www.cnblogs.com/cuitang/p/17095262.html