Django аутентифицирует не возвращая существующих пользователей

Mohit Harshan спросил: 03 ноября 2018 в 08:49 в: python

Мои forms.py:

class UserLoginForm(forms.Form):
 username = forms.CharField(widget=forms.TextInput(attrs= 
 {'class':'form-control form-control-lg','placeholder':'Username'}))
  password = forms.CharField(widget=forms.PasswordInput(attrs= 
 {'class':'form-control form-control-lg','placeholder':'Password'}))  def clean(self, *args, **kwargs):
     username = self.cleaned_data.get("username")
     password = self.cleaned_data.get("password")     if username and password:
         user = authenticate(username=username, password=password)         if user is None:
             raise forms.ValidationError("This user does not exist")
         elif user is not None:
            if not user.is_active:
                raise forms.ValidationError("This user is not longer 
          active.")            elif not user.check_password(password):
                raise forms.ValidationError("Incorrect password")    return super(UserLoginForm, self).clean(*args, **kwargs)

models.py:

class User(AbstractUser):
 is_client = models.BooleanField(default=False)
 is_trainer = models.BooleanField(default=False)
 username = models.CharField('username', max_length=150, unique=True)
 email = models.EmailField(unique=True)
 hub = models.ForeignKey(Hub, on_delete=models.CASCADE,blank=True, 
 null=True)
 USER_POSITIONS = ((0, 'Not a member'), (1, 'Member'), (2, 'Excom'), 
 (3, 'Leader'))
 hub_position = models.CharField(default='Not Member',max_length=50)
 mentor = models.ForeignKey('self' ,on_delete=models.CASCADE, 
 blank=True,null=True)
 terms = models.BooleanField(blank=True,default=False)
 USERNAME_FIELD = 'username'
 REQUIRED_FIELDS = ['email','terms'] def get_absolute_url(self):
     return reverse('student:dashboard', kwargs={'pk': self.pk})

Я хочу, чтобы пользователь был перенаправлен на повторную отправку Страница ссылки активации, если он еще не активирован. Теперь, после того как я зарегистрировал пользователя и пропустил активацию учетной записи, а затем попытался войти в систему, отображается ошибка проверки "Этот пользователь не существует", хотя этот пользователь зарегистрирован в модели пользователя.


0 ответов