Django 中操作 Cookie
发布时间:2023-09-04 14:01:47 所属栏目:教程 来源:
导读:操作 Cookie 同样是考察4个基本动作:增删改查。现在分别从这4个角度看 Django 如何操作 Cookie :
增:对于视图函数或者视图类的三种返回 Response 响应 (HttpResponse、render、redircet),之前的做法是直接 re
增:对于视图函数或者视图类的三种返回 Response 响应 (HttpResponse、render、redircet),之前的做法是直接 re
操作 Cookie 同样是考察4个基本动作:增删改查。现在分别从这4个角度看 Django 如何操作 Cookie : 增:对于视图函数或者视图类的三种返回 Response 响应 (HttpResponse、render、redircet),之前的做法是直接 return,现在可以在 return 之前,使用 set_cookie() 或者 set_signed_cookied() 方法给客户端颁发一个 cookie,然后再带着颁发的 cookie 响应用户请求。操作代码结构如下。 def xxxx(request, *args, **kwargs):# ... rep = HttpResponse(...)# 或者rep = render(request, ...)# 或者rep = redirect( ...)# 两种设置cookie的方法,一种不加salt,另一个加salt rep.set_cookie(key, value,...)rep.set_signed_cookie(key, value, salt='加密盐', max_age=None, ...)return rep 查:查询 cookie 是在发送过来的 HTTP 请求中的,因此对应的查询 Cookie 方法封装在 HttpRequest 类中,对应的操作语句如下: request.COOKIES['key']request.COOKIES.get['key']# 对应前面使用前面加密的cookierequest.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None) 改:调用前面的 set_cookie() 或者 set_signed_cookie() 方法修改 Cookie 即可; 删:直接使用 HttpReponse 类的 delete_cookie() 删除 cookie 中对应 key 值。 Django 中 Cookie 实操。我们在前面的登录表单功能上改造视图函数,保证一次登录后,后续再次 GET 请求时能自动识别登录用户。此外还设置一个 Cookie 过期时间,过期之后再次 GET 请求时又回到登录页面。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |