登錄驗證authenticate 及 登錄login 、session狀態保持、 退出logout
class LoginView(View): def get(self,request): return render(request,'login.html') def post(self,request): data = request.POST username = data.get("username") password = data.get("pwd") remembered = data.get("remembered") if not all([username,password]): return render(request,'login.html',{'error':'請輸入正確的賬號或密碼'})
#驗證用戶和密碼 user = authenticate(username=username,password=password) if not user: return render(request, 'login.html', {'error': '請輸入正確的賬號或密碼'}) #是否激活 if user.is_active == False: return render(request, 'login.html', {'error': '郵箱未激活'})
#登錄 login(request,user) #記住用戶名 session存盤位置 mysql--...-- django_session里 if remembered != 'on': request.session.set_expiry(0) else: request.session.set_expiry(3600*24) response = redirect('/goods/index') return response
#退出登陸 清空session class LogoutUser(View): def get(self,request): logout(request) return redirect('/goods/index')
#狀態保持 設定為0時 關閉瀏覽器就會退出登錄 但不清空session 退出則清空
if remembered != 'on':
request.session.set_expiry(0)

else:
request.session.set_expiry(3600*24)

logout退出后 清空當前用戶的狀態

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/186241.html
標籤:其他
上一篇:學習第59天
下一篇:logging模塊的使用
