码迷,mamicode.com
首页 > 其他好文 > 详细

Django之cookie

时间:2017-10-18 16:43:19      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:服务器   class   客户端   img   使用   字符串   form   方法   direct   

1.cookie是个啥?

  cookie是本地浏览器上保存的一个文件,使用键值对的形式保存数据(字典,key和value)

  账户验证成功之后,服务器端向客户端发送一段字符串,当用户再次登录的时候,服务器端不会再一次验证账户密码是否正确,而是会查看是否有这一段字符串,如果有的话,服务器端会直接跳转到登陆成功的页面

 

2.简单的cookie验证实例:

  views.py:

技术分享
user_info={
    user1:{pwd:123},
    user2:{pwd:321},
}
View Code
技术分享
def login(request):
    if request.method==GET:
        return render(request,login.html)
    if request.method==POST:
        u=request.POST.get(username)
        p=request.POST.get(pwd)
        dic=user_info.get(u) #字典的get方法,查找key值,存在返回value,否则返回none
        if dic and dic[pwd]==p:
            res=redirect(/index/)
            res.set_cookie(uname,u)
            return redirect(/index/)
        else:
            return render(request,login.html,{error_msg:"invalid"})


def index(request):
    user=request.COOKIES.get(uname)
    if not user :
        return redirect(/login/)
    else:
        return render(request,index.html,{username: user})
View Code

  login.html:

技术分享
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <div>
        <form action="/login/" method="POST">
            <input name="username" type="text" placeholder="用户名"/>
            <input name="pwd" type="password" placeholder="密码"/>
            <input type="submit" value="登录"/>
        </form>
        {{ error_msg }}
    </div>
</body>
</html>
View Code

  index.html:

技术分享
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
    {{ username }}
</body>
</html>
View Code

url里记得添加路由,不在赘述。

  这样就成功的在本地浏览器存入了cookie,可以通过chrome查看到:

技术分享

 

 

 

 

 

 

 

 

 

 

3.

Django之cookie

标签:服务器   class   客户端   img   使用   字符串   form   方法   direct   

原文地址:http://www.cnblogs.com/SunsetSunrise/p/7684170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!