Как использовать is_active в LoginView на основе класса?
Я использую модель User по умолчанию и хочу проверить, активен ли пользователь или нет, прежде чем он войдет в систему... Как я могу это сделать?
Вы можете унаследовать от Django LoginView и затем переопределить функцию form_valid.
class CustomLogin(LoginView):
def form_valid(self, form):
username = form.cleaned_data.get('username') #or email or whatever you are using
try:
user = User.objects.get(username=username) #or email=email if using email
if not user.is_active:
raise("User has been deactivated")
except User.DoesNotExist:
pass
except Exception as e:
raise(e)
return super().form_valid(form)