.
django-sınıf-temelli-auth-views sınıf temelli görünümleri & nbsp olarak django.contrib.auth.views bir reimplementation olduğu; Umarım bir noktada bu projenin veya uygun django içine yapacaktır benzer bir şey de.
Şu anda sadece LoginView uygulanır. diğerleri takip edecek.
Kurulum
django-sınıf-temelli-auth-görünümleri yüklemek pip
Temel kullanım
Bunun yerine urls.py içine django.contrib.auth.login dahil, sadece bu proje tarafından sağlanan birini kullanın. urls.py:
class_based_auth_views.views ithalat LoginView gelen
urlpatterns = desenleri ('',
& Nbsp; url (r '^ giriş / $', LoginView.as_view (form_class = EmailAsUsernameAuthenticationForm), name = "login"),
)
uzatılması LoginView Örnek
Şimdi bu LoginView jenerik sınıf temelli görünümler dayanmaktadır onu uzatmak çok daha kolaydır. Eğer bir kerelik şifre ile 2 adım login prosedürü uygulamak gerekir ki:
django.contrib.auth ithalat girişi itibaren
sınıf PhaseOneLoginView (LoginView):
& Nbsp; def form_valid (self, form):
& Nbsp; "" "
& Nbsp; Kuvvetler ayrıcalıklı bir 2 aşamalı bir süreçte (One Time Password) giriş yapmak. Diğer kullanıcılar normalde kaydediliyor
& Nbsp; "" "
& Nbsp; user = form.get_user ()
& Nbsp; user.is_superuser eğer:
& Nbsp; self.save_user (kullanıcı)
Ve nbsp; dönüş HttpResponseRedirect (self.get_phase_two_url ())
& Nbsp; else:
& Nbsp; giriş (self.request kullanıcı)
Ve nbsp; dönüş HttpResponseRedirect (self.get_success_url ())
& Nbsp; def get_phase_two_url (self):
& Nbsp; return ters ('phase_two_login')
& Nbsp; def save_user (self kullanıcı):
& Nbsp; self.request.session ['otp_user'] kullanıcı =
sınıf PhaseTwoLoginView (FormView):
& Nbsp; form_class = OTPTokenForm
& Nbsp; def get_user (self):
& Nbsp; return self.request.session.get ('otp_user' Yoktur)
& Nbsp; def clean_user (self):
& Nbsp; self.request.session içinde 'otp_user' eğer:
Ve nbsp; del self.request.session ['otp_user']
& Nbsp; def form_valid (self, form):
& Nbsp; code = form.cleaned_data.get ('kod')
& Nbsp; user = self.get_user ()
& Nbsp; giriş (istek, kullanıcı)
Gereksinimleri :
- Python
Yorum Bulunamadı