В моем проекте Django я разрешаю пользователям входить в систему. Если они вводят неправильный пароль 7 раз, их учетная запись становится неактивной, и им возвращается ошибка.
Я хочу вывести сообщение об ошибке в течение 5 секунд, а затем разрешить им повторить попытку. ,Как я могу это сделать ?
Я сохраняю переменную в пользовательской модели, которая увеличивается при каждом неудачном входе в систему. Если он достигает 7, отображается сообщение об ошибке.
Вот мой код: models.py:
class User(AbstractUser):
loginAttempts = models.IntegerField(default=0)
views.py:
if user.check_password(data.get("password")):
user.loginAttempts = 0
user.save()
auth.login(request, user)
return JsonResponse({'message': 'Successfully logged in'}, status=200)
else:
user.loginAttempts += 1
user.save()
if user.loginAttempts >= 7:
user.is_active = False
user.save()
return JsonResponse({'message': 'Account Locked.'}, status=400)
else:
return JsonResponse({'message': 'Oops, username/email or password provided is invalid'}, status=400)
В настоящее время ошибкасообщение («Учетная запись заблокирована») успешно отображается после 7 попыток, однако я хочу, чтобы переменная loginAttempts была установлена в 0 через 5 секунд.
Как я могу это сделать? Спасибо.