python CBV及CBV登入驗證

2021-09-06 21:52:15 字數 1520 閱讀 8912

通過 cbv 繼承的 view 原始碼,可以看到通過呼叫 as_view 中的 view 方法,最後返回的是對應類的 self.dispatch(request, *, **)。

那麼可以在呼叫 dispatch 之前做乙個 session 驗證,實現登入驗證。

return httpresponse('使用者名稱密碼不能為空')

else:

user_obj = models.userinfo.objects.filter(username=username, password=password)

if user_obj.first(): # 登入成功

request.session['login'] = user_obj.first().name # 建立session

return redirect('/session')

else: # 登入失敗

return httpresponse('使用者名稱密碼錯誤')templates/login.html

FBV與CBV 及CBV原始碼分析

fbv function based view 基於函式的檢視 基於函式的檢視,我們一直在用沒啥好講的,就是匯入模組呼叫函式執行業務 cbv class based view 基於類的檢視 路由 url r haha views.zx view.as view 檢視 class zx view vi...

CBV和FBV實現驗證登入

cbv加裝飾器 class url r login.html views.login.as view 類名的關聯方法 在執行前後做一些操作,此時是輸出post或者get。cbv加裝飾器方法 defget self,request,args,kwargs return render request,l...

Django框架 CBV及原始碼分析

cbv 基於類的檢視函式 示例 urls.py url r login views.mylogin.as view views.py from django.views import view class mylogin view defget self,request print from myl...