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

Django之前端基础cookie使用

时间:2019-06-18 00:19:22      阅读:571      评论:0      收藏:0      [点我收藏+]

标签:method   rgs   delete   cto   ret   业务   设置   logout   none   

        login视图函数:
      def login(request): if request.method == POST: username = request.POST.get(username) password = request.POST.get(password) if username == jason and password == 123: old_path = request.GET.get(next) if old_path: obj = redirect(old_path) else: obj = redirect(/home/) # 用户登录成功 朝浏览器设置一个cookie obj.set_cookie(name,jason,expires=7*24*3600) return obj return render(request,login.html)
     制作登陆校验装饰器:
from functools import wraps def login_auth(func): @wraps(func) def inner(request,*args,**kwargs): # 校验cookie # print(request.get_full_path()) old_path = request.get_full_path() if request.COOKIES.get(name): return func(request,*args,**kwargs) return redirect(/login/?next=%s%old_path) return inner 用户注销视图函数: def logout(request): rep = redirect("/login/") rep.delete_cookie("user") # 删除用户浏览器上之前设置的usercookie值 return rep 设置cookie set_cookie() 使用cookie request.COOKIES 删除cookie delete_cookie





 


session用法大同小异

session 设置session request.session[
name] = jason‘ #这句话完成了下面三件事情 # 1.先生成一个随机的字符串 # 2.在django session表中存储该随机字符串与数据的记录 # 3.将随机的字符串发送给客户端浏览器 获取session request.session.get(name) # 1.django自动获取浏览器随机字符串取django session表里面比对 # 2.如果比对成功 会将当前随机字符串对应的数据赋值给request.session # 3.通过request.session操作该数据(数据不存在也不会影响我们的业务逻辑) 浏览器会设置一个键为sessionid来存放session值 # 删除当前会话的所有Session数据,在用户注销时可用 request.session.delete()    # 删除当前的会话数据并删除会话的Cookie。在用户注册时可用 request.session.flush() 这用于确保前面的会话数据不可以再次被用户的浏览器访问 例如,django.contrib.auth.logout() 函数中就会调用它。 # 设置会话Session和Cookie的超时时间 request.session.set_expiry(value) * 如果value是个整数,session会在些秒数后失效。 * 如果value是个datatime或timedelta,session就会在这个时间后失效。 * 如果value是0,用户关闭浏览器session就会失效。 * 如果value是None,session会依赖全局session失效策略。 django默认的session存活时间是两周(14天)******

 

Django之前端基础cookie使用

标签:method   rgs   delete   cto   ret   业务   设置   logout   none   

原文地址:https://www.cnblogs.com/dongxixi/p/11042930.html

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