Bir kullanıcının, sınıf tabanlı bir form görünümüne izin vermeden önce kimlik doğrulaması yapıp yapmadığını kontrol etmek için bir mixin kullanıyorum. İyi çalışır, ancak kullanıcı kimliği doğrulanmamışsa, onları '/ accounts/profile /' varsayılan giriş yoluna yönlendirir. Belgelere göre bu yol LOGIN_REDIRECT_URL veya belki de settings.py dosyasında LOGIN_URL kullanılarak geçersiz kılınabilir. Bununla birlikte, the documentation, her ikisinin de Django 1.8'deki kullanımdan kaldırıldığını ve Django 1.10'da kaldırılacağını belirtir. 1.9'dayım ve gelecekteki kodumu kanıtlamak istiyorum. Giriş URL'si veya giriş yönlendirme URL'sinin onaylanmamış bir yöntem kullandığını nasıl belirleyebilirim? Mixin yaklaşımını bırakmaya bile razı olurdum, ancak sınıf temelli bir görüşün talebi üzerine manuel bir kontrol gerçekleştiririm ve sonra çek başarısız olur mu?LOGIN_REDIRECT_URL kullanımdan kaldırıldı mı?
class LoginCheckMixin(UserPassesTestMixin):
def test_func(self):
if 'id_token' in self.request.session:
return validate_google_token(self.request.session['id_token'])
else:
return False
class RegistrationFormView(LoginCheckMixin, FormView):
template_name = 'registration/registration_form.html'
form_class = RegistrationForm
success_url = 'results'
Teşekkür kullanabilirsiniz! Bu mantıklı. Sabit kodlanmış bir URL ile harika çalıştı. URL modelini denediğimde çalışmadı. url (r '^ $', views.login, name = 'login') LOGIN_URL = 'login' sonuçlandı: NoReverseMatch '' (') argümanlarıyla' giriş 'için' 've' 'anahtar kelime argümanları' 'için' '{}' bulunamadı. 0 desen denendi: [] – AdamG
Url model adını kullanmanız gerekir. URL'leri dahil etmek için bir ad alanı kullanıyor musunuz? Eğer öyleyse 'LOGIN_URL = ': login' 'yapmalısınız. –
Alasdair