1. Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。例如在某个网站上保存了用户名和密码,3个月内免登陆。如果你换台电脑或者浏览器的话,则需要重新登录。就此说明cookie是保存在客户端浏览器上的一个文件。

2.实例---基于cookie实现用户信息验证
当用户名和密码都正确的时候,才跳转到index页面。否则就停留在login.html页面。
2.1 在setting中注释掉下面一句,防止报错

2.2 在urls.py中写路由对应关系

2.3 views.py写后端
from django.shortcuts import render,HttpResponse,redirect
from django.urls import reverse
# Create your views here.
user_info={
‘dachengzi‘:{‘pwd‘:"123123"},
‘kanbazi‘:{‘pwd‘:"kkkkkkk"},
}
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)
if not dic:
return render(request,‘login.html‘)
if dic[‘pwd‘]==p:
res=redirect(‘/index/‘)
res.set_cookie(‘username111‘,u)
return res
else:
return render(request,‘login.html‘)
def index(request):
#获取当前以及登录的用户名字
v=request.COOKIES.get(‘username111‘)
if not v:
return redirect(request,‘/login/‘)
return render(request,‘index.html‘,{‘current_user‘:v})
2.4 写前端 index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>欢迎登录:{{current_user}}</h1>
</body>
</html>
2.4 写前端 index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/login/" method="POST">
<input type="text" name="username" placeholder="用户名"/>
<input type="password" name="pwd" placeholder="密码"/>
<input type="submit"/>
</form>
</body>
</html>
2.5 效果


3. 在Django里面给cookie提供了一些额外的功能。
request.COOKIES-------表示用户发来数据的时候,它里面带的所携带的所有cookie信息。。。从请求中获取cookie
def cookie(request):
#用户发来请求时,它里面所携带的所有的cookie信息
request.COOKIES
request.COOKIES[‘username111‘]
request.COOKIES.get(‘username111‘)
设置cookie
response.set_cookie(‘key‘,‘value‘)
def cookie(request):
#用户发来请求时,它里面所携带的所有的cookie信息
request.COOKIES
request.COOKIES[‘username111‘]
request.COOKIES.get(‘username111‘)
response=render(request,‘index.html‘)
response=redirect(‘/index/‘)
#设置cookie,关闭浏览器后就失效
response.set_cookie(‘key‘,‘value‘)
return response
4. 现在如果关闭浏览器的话,那么用户名和密码还得重新输入。所以我们还需要再完善一下。
res.set_cookie(‘username111‘,u,max_age=10) 设置失效时间为10秒

效果:10秒之后,用户名和密码就失效了,从index自动倒退回到login界面
原文:http://www.cnblogs.com/momo8238/p/7680917.html