zoukankan      html  css  js  c++  java
  • django设置cookie

    两个例子:

    使用模板

      from django.shortcuts import render, HttpResponse
      from rest_framework.views import APIView

    class Order(APIView):
        def get(self, request, *args, **kwargs):
            response= render(request,'login.html')
            response.set_cookie('username','xiaoming')  # 设置cookie
            return response
    
        def post(self, request, *args, **kwargs):
            ret = request.COOKIES['username']  # 获取cookie
            return HttpResponse(ret)

    不使用模板

    from django.shortcuts import render, HttpResponse
    from rest_framework.views import APIView
    
    class Order(APIView):
        
        def GET(self, request, *args, **kwargs):
            response = HttpResponse("ok")
            response.set_cookie("username","xiaoming")  # 设置cookie
            return response
    
        def GET(self, request, *args, **kwargs):
            ret = request.COOKIES["username"]  # 获取cookie
            res = request.COOKIES.get("username")  # 获取cookie
            return Httpresponse("success")

    Django中操作Cookie

    获取Cookie

    request.COOKIES['key']
    request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)

    参数:

    • default: 默认值
    • salt: 加密盐
    • max_age: 后台控制过期时间

    设置Cookie

    rep = HttpResponse(...)
    rep = render(request, ...)
    
    rep.set_cookie(key,value,...)
    rep.set_signed_cookie(key,value,salt='加密盐',...)

    参数:

    • key, 键
    • value='', 值
    • max_age=None, 超时时间
    • expires=None, 超时时间(IE requires expires, so set it if hasn't been already.)
    • path='/', Cookie生效的路径,/ 表示根路径,特殊的:根路径的cookie可以被任何url的页面访问
    • domain=None, Cookie生效的域名
    • secure=False, https传输
    • httponly=False 只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)

    删除Cookie

    def logout(request):
        rep = redirect("/login/")
        rep.delete_cookie("user")  # 删除用户浏览器上之前设置的usercookie值
        return rep

     结束!

  • 相关阅读:
    李超线段树 (Li-Chao Segment Tree)
    NowCoder Contest 894
    AtCoder Beginning Contest 126
    华工软院IBM LinuxONE Community Cloud云计算实验文档
    Codeforces Round #561 (div. 2)
    Comet OJ Contest #3
    Codeforces Edu Round 65 (Rated for Div. 2)
    莫队算法 (Mo's Algorithm)
    Codeforces Round #559 (Div. 2)
    GDCPC2019 广东省赛总结
  • 原文地址:https://www.cnblogs.com/aaronthon/p/13110100.html
Copyright © 2011-2022 走看看