Python开发中的cookie 学习

发布时间:2019-09-17 07:43:55编辑:auto阅读(1455)

    cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接。服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie。
    存放位置
    每次发请求cookie是放在请求头里面的。
    应用场景

    • 登陆用户和密码的记住密码
    • 显示每页显示的数据,以后都是按照设定的数目显示
    • 投票机制

      案例用户登录

      创建用户登录的url

      url(r'^login/', views.login),

      创建登录页面

      Python开发中的cookie 学习
      代码为:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>登陆页面</title>
        <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.css">
        <link rel="stylesheet" href="/static/jquery-3.2.1.min.js">
    </head>
    <body>
        <form action="/login/" method="post">
            <input type="text" name="username" placeholder="用户名">
            <input type="text" name="password" placeholder="密码">
            <input type="submit" value="提交">
        </form>
    
    </body>
    </html>

    创建后台函数方法

    Python开发中的cookie 学习
    代码为:

    def login(request):
        if request.method == "GET":
            return render(request,'houtaiguanli/login.html')
        else:
            user = request.POST.get('username')
            pwd = request.POST.get('password')
            if user == 'ke' and pwd == '123':
                obj = redirect('/classes/')
                obj.set_cookie('ticket','dafadfafaf')
                return obj
            else:
                return render(request,'houtaiguanli/login.html')

    这里设计登录成功后可以正常访问班级页面即“classes”,所以要在班级方法那里做个判断。如果判断为用户已经登录,则可以正常访问。判断用户没有正常登录,则让它跳转到登录页面继续登录
    Python开发中的cookie 学习

    这里就是通过设置cookie,发送给用户的浏览器。用浏览器在进行新的请求时携带着cookie来的。

    set_cookies的语法
    Set-cookie:name=name;expires=date;path=path;domain=domain;secure name=name: 需要设置cookie的值(name不能使用“;”和","号),有多个name值时用";"分隔例如:name1=name1; name2=name2;name3=name3。
    expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS"
    path=path: 设置cookie支持的路径,如果path是一个路径,则cookie对这个目录下的所有文件及子目录生效,例如:path="/cgi-bin/",如 果path是一个文件,则cookie指对这个文件生效,例如:path="/cgi-bin/cookie.cgi"。
    domain=domain: 对cookie生效的域名,例如:domain="gzdzw.51.net"
    secure: 如果给出此标志,表示cookie只能通过SSL协议的https服务器来传递。
    cookie的接收是通过设置环境变量HTTP_COOKIE来实现的,CGI程序可以通过检索该变量获取cookie信息。

    cookie 也可以做加密的
    添加salt
    Python开发中的cookie 学习
    后台拿去的时候解密

    Python开发中的cookie 学习

    浏览器查看
    Python开发中的cookie 学习

关键字