Я пытаюсь запретить повторяющиеся регистрации с одного ip.Вот мой код.
class SignupForm(forms.Form):
def signup(self, request, user):
ip = get_client_ip(request)
if UserProfile.objects.filter(registration_ip=ip).exists():
self.add_error(
None, "You cannot register more than one account from the same IP")
else:
user.userprofile.registration_ip = ip
user.userprofile.save()
user.save()
В настоящее время, когда пользователь регистрируется с тем же IP-адресом, что и другой зарегистрированный пользователь, форма все еще проверяется.Мне нужна форма для возврата ошибки.Кто-нибудь может помочь?Заранее спасибо.
(Приведенный выше код является переопределением для RegistrationForm пакета django-allauth)
Оператор if работает нормально.Сначала я пытался использовать raise ValidationError
, и это работало нормально, но это плохо для UX.Мне нужна форма для аннулирования и возврата моей пользовательской ошибки на странице формы.