zoukankan      html  css  js  c++  java
  • django之基于cookie和装饰器实现用户认证

    示例1

     1 # Create your views here.
     2 user = "a"
     3 pwd = "a"
     4 def login(request):
     5     if request.method =="GET":
     6         return render(request,"login.html")
     7     elif request.method == "POST":
     8         u = request.POST.get("user")
     9         p = request.POST.get("password")
    10         print(u)
    11         print(p)
    12         if u ==user and p ==pwd:
    13             res = redirect("/index")
    14             res.set_cookie('user',u,max_age=5)   #设置cookie,关闭浏览器cookie失效。max_age=5表示5秒后cookie失效,需要重新登录
    15             return res
    16         else:
    17             return  render(request,"login.html")
    18 def index(request):
    19     v = request.COOKIES.get("user")
    20     if v:
    21         return render(request,"index.html",{"current_user":v})
    22     else:
    23         return redirect("/login")

    示例2   ---   基于装饰器实现用户认证

     1 user = "a"
     2 pwd = "a"
     3 
     4 def auth(func):
     5     def inner(reqeust,*args,**kwargs):
     6         v = reqeust.COOKIES.get('user')
     7         if not v:
     8             return redirect('/login')
     9         return func(reqeust, *args,**kwargs)
    10     return inner
    11 
    12 def login(request):
    13     if request.method =="GET":
    14         return render(request,"login.html")
    15     elif request.method == "POST":
    16         u = request.POST.get("user")
    17         p = request.POST.get("password")
    18         if u ==user and p ==pwd:
    19             res = redirect("/index")
    20             res.set_cookie('user',u,max_age=5)   #设置cookie,关闭浏览器cookie失效。max_age=5表示5秒后cookie失效,需要重新登录
    21             return res
    22         else:
    23             return  render(request,"login.html")
    24 @auth
    25 def index(request):
    26     v = request.COOKIES.get("user")
    27     return render(request,"index.html",{"current_user":v})
  • 相关阅读:
    iOS7以上自定义一个navigationController,并沿用系统的侧滑返回效果
    判断一个日期是否再某个日期范围内object-c 范例
    统计软件简介
    大学生对vivo手机的看法
    第二次作业,制作调查问卷
    作业一:数据软件系统的介绍及spss的操作简介
    Android WebView
    Android ListView
    ARM和x86
    android shape和selector
  • 原文地址:https://www.cnblogs.com/liruixin/p/6271330.html
Copyright © 2011-2022 走看看