zoukankan      html  css  js  c++  java
  • Django_cookie与sesstion

    cookie:

    set_cookie(key, value="", max_age=None, expires=None)    # 设置Cookie
    

      key、value都是字符串类型。

      max_age是一个整数,表示在指定秒数后过期。

      expires是一个datetime或timedelta对象,会话将在这个指定的日期或时间过期。

      max_age和expires二选一。

      如果不指定过期时间,则两个星期后过期。

    设置cookie:

    def set_cookie(request):
        response = HttpResponse()  # 创建对象
        response.set_cookie('wdc', '123')  # 设置cookie
        return response

    检测、获取cookie:

    def cookie(request):
        if 'wdc' in request.COOKIES:    # 检测cookie中是否有键为‘wdc’的值
            wdc = request.COOKIES.get('wdc')    # 获取cookie
            return render(request, 'cookie.html', {'wdc': wdc})
        else:
            return render(request, 'cookie.html')

    删除cookie:

    def del_cookie(request):
        response = HttpResponse()  # 创建对象
        response.delete_cookie('wdc')  # 删除cookie
        return response

     session:

       get(key, default=None)  :根据键获取会话的值

      clear()  :清除所有会话

      flush()  :删除当前的会话数据并删除会话的Cookie

      del request.session['member_id']  :删除会话

    视图:

    def session(request):
        qqq = request.GET.get('qqq', None)
        if qqq == '1':
            del request.session['username']  # 删除键为‘username’的session,不存在时报错
        username = request.POST.get('username', None)
        request.session['username'] = username     # 给session设置值
        wdc = request.session.get('username', default=None)    # 获取session中的值
        return render(request, 'session.html', {"wdc": wdc})
    
    
    def session_get(request):
        return render(request, 'session_login.html')

    模板:

      session.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>首页</title>
    </head>
    <body>
    欢迎:{{ wdc }}
    <br>
    <a href="/session_get/">登录</a>
    <br>
    <a href="/session/?qqq=1">退出</a>
    </body>
    </html>

      session_login.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>登录</title>
    </head>
    <body>
    <form action="/session/" method="post">
        {% csrf_token %}
        <input type="text" name="username">
        <input type="submit" value="提交">
    </form>
    </body>
    </html>

    路由:

        path('session/', views.session),
        path('session_get/', views.session_get),
  • 相关阅读:
    遍历Newtonsoft.Json.Linq.JObject
    JSON中JObject和JArray,JValue序列化(Linq)
    RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列
    RabbitMQ学习系列三:.net 环境下 C#代码订阅 RabbitMQ 消息并处理
    RabbitMQ学习系列一:windows下安装RabbitMQ服务
    红帽企业版Linux成为Linux下的.NET Core的参考平台
    LINUX下SYN FLOOD攻击及LINUX下SYN攻防简述
    Linux下tar命令的各种参数选项和他们的作用整理
    异常值监测的方法 Tukey test
    Git如何回滚代码?
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/13158061.html
Copyright © 2011-2022 走看看