Django的基於類的-AUTH-觀點是django.contrib.auth.views為基礎的階級觀點&NBSP的重新實現;希望在某個時候該項目或類似的將使它成為Django的正確的東西。
目前僅LoginView實現。其他人也會跟進。
安裝
PIP安裝Django級為主-AUTH-意見
基本用法
相反,包括django.contrib.auth.login到您的urls.py,只需用本項目提供的之一。 urls.py:
從class_based_auth_views.views進口LoginView
urlpatterns的=型態('',
  URL(R'^登錄/ $',LoginView.as_view(form_class = EmailAsUsernameAuthenticationForm),NAME =“登錄”),
)
擴展LoginView示例
現在LoginView基於通用類為本次這是很容易擴展。假設你需要實現一個一次性密碼2步登錄過程:
從django.contrib.auth進口登錄
類PhaseOneLoginView(LoginView):
 高清form_valid(個體經營,形式):
 “”“
 強制超級用戶登錄的兩個步驟(一次性密碼)。其他用戶登錄正常
 “”“
 用戶= form.get_user()
 如果user.is_superuser:
  self.save_user(用戶)
 返回HttpResponseRedirect(self.get_phase_two_url())
 否則:
 登錄(self.request,用戶)
 返回HttpResponseRedirect(self.get_success_url())
 高清get_phase_two_url(個體經營):
 相反回報('phase_two_login“)
 高清save_user(個體經營,用戶):
  self.request.session ['otp_user'] =用戶
類PhaseTwoLoginView(FormView控件):
  form_class = OTPTokenForm
 高清GET_USER(個體經營):
 返程self.request.session.get('otp_user',無)
 高清clean_user(個體經營):
 如果self.request.session“otp_user”:
 德爾self.request.session ['otp_user']
 高清form_valid(個體經營,形式):
 代碼= form.cleaned_data.get(“代碼”)
 用戶= self.get_user()
 登錄(請求用戶)
要求:
- 在Python的
評論沒有發現