Django——cookie保持登录
普通登录时,无法保持登录的状态,每一次请求时都需要重新登录。
而在登录时,生成cookie并保存在浏览器中,这样每次登录就会携带登录信息,就可以保持登录状态了。
操作cookie语法:
# (1) 设置cookie: res = HttpResponse(...) 或 rep = render(request, ...) 或 rep = redirect() res.set_cookie(key,value,max_age...) res.set_signed_cookie(key,value,salt='加密盐',...) # (2) 获取cookie: request.COOKIES
# (3) 删除cookie response.delete_cookie("cookie_key",path="/",domain=name)
例子:
设置cookie:
def login(request):
login_success=1
if login_success:
# 获取响应体(render或redirect也可以,都是继承的HttpResponse)
response=HttpResponse("登录成功")
# 在响应体设置cookie
response.set_cookie("is_login", True)
return response
else:
return HttpResponse("登录失败")
读取cookie:
def index(request):
cookies = request.COOKIES
# cookies.get("k","")获取不到默认为""
is_login = cookies.get("is_login")
if is_login:
#已登录
else:
#跳转到登录页面
删除cookie:
response.delete_cookie("cookie_key",path="/",domain=name)

浙公网安备 33010602011771号