django进阶(五)之cookies

一、关闭浏览器后cookie失效

cookie进行用户认证 (关闭浏览器cookie失效)

视图函数views.py

def login(request):
    error_msg = ""

####test_cookie#########

    if request.method == 'GET':
        return render(request,'login.html')
    elif request.method == "POST":
        u = request.POST.get('user')
        p = request.POST.get('password')
        ##如果数据库里有多个相同的数据,取第一个,如果没有就会显示none
        obj = models.UserInfo.objects.filter(username=u,password=p).first()

        if obj:                     ##如果存在数据(不为空)则正确
            res = redirect('/cmdb/index/')
            res.set_cookie('uname',u)                ###设置cookie
            return res
        else:
            error_msg = "用户名密码错误"
            return render(request,'login.html',{'error_msg' : error_msg})

def index(request):
    v = request.COOKIES.get('uname')            ###获取cookies的值
    if not v:
        return redirect('/cmdb/login/')
    else:
        return render(request,'index.html',{'current_user':v})

index.html

 

cookies常用参数

参数:
key, 键
value = '', 值
max_age = None,           #超时时间
expires = None,           #截止时间失效(即,到什么时候生效)
path = '/', Cookie生效的路径,   # / 表示根路径(表示对所有路径生效),特殊的:跟路径的cookie可以被任何url的页面访问(/index,表示只有在index页面生效)
domain = None, Cookie生效的域名
secure = False, https传输
httponly = False
只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)

 

实现自定义每页显示指定数量内容

本例基于jquery.cookie.js这款插件,将js文件放到static目录,引入时先引入juery的js,在引入cookie的js

 

视图函数views.py

 

page.html

 

cookie加密及加盐加密

加密

解密

 

posted @ 2018-05-02 17:11  FRESHMANS  阅读(126)  评论(0)    收藏  举报