加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Django 中操作 Cookie

发布时间:2023-09-04 14:01:47 所属栏目:教程 来源:
导读:操作 Cookie 同样是考察4个基本动作:增删改查。现在分别从这4个角度看 Django 如何操作 Cookie :

增:对于视图函数或者视图类的三种返回 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 请求时又回到登录页面。
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章