Django基於Cookie裝飾器實現用戶認證
阿新 • • 發佈:2017-06-07
.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": returnrender(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裝飾器實現用戶認證