1. 程式人生 > >Django基於Cookie裝飾器實現用戶認證

Django基於Cookie裝飾器實現用戶認證

.html 用戶 print class request 裝飾器 col password bsp

def login(request):
    if request.method =="GET":
        return render(request,"login.html")
    elif request.method == "POST":
        u = request.POST.get("user")
        p = request.POST.get("password")
        print(u,p)
        if u ==user and p ==pwd:
            res = redirect("/index")
            res.set_cookie(
user,u,max_age=5) #設置cookie,關閉瀏覽器cookie失效。max_age=5表示5秒後cookie失效,需要重新登錄 return res else: return render(request,"login.html") def index(request): v = request.COOKIES.get("user") if v: return render(request,"index.html",{"current_user":v}) else:
return redirect("/login") 二, 基於裝飾器實現用戶認證 FBV: def auth(func): def inner(reqeust,*args,**kwargs):     v = reqeust.COOKIES.get(user)     if not v:       return redirect(/login)     return func(reqeust, *args,**kwargs)   return inner def login(request):   if request.method =="GET":     return
render(request,"login.html")   elif request.method == "POST":     u = request.POST.get("user")     p = request.POST.get("password")     if u ==user and p ==pwd:       res = redirect("/index")       res.set_cookie(user,u,max_age=5) #設置cookie,關閉瀏覽器cookie失效。max_age=5表示5秒後cookie失效,需要重新登錄   return res     else:       return render(request,"login.html") @auth def index(request):   v = request.COOKIES.get("user")   return render(request,"index.html",{"current_user":v})   

Django基於Cookie裝飾器實現用戶認證