django-регистрация с помощью django-math-captcha - PullRequest
2 голосов
/ 13 апреля 2011

Кто-нибудь когда-нибудь успешно интегрировал django-math-captcha в django-регистрацию?

Я изменил форму в django-регистрации, чтобы она была такой:

class RegistrationForm(MathCaptchaForm)

Форма отображается очень хорошо, и она распознает, когда я ввожу что-либо кроме цифр.Тем не менее, это не помечает неправильные ответы.Например, я ввел 2+1 = 6, и моя регистрация прошла нормально.

Есть идеи?

1 Ответ

2 голосов
/ 17 апреля 2011

Чтобы ответить на мой собственный вопрос, это потому, что MathCaptchaForm.clean() был переопределен на RegistrationForm.clean().Я позвонил super() изнутри RegistrationForm.clean(), и это сработало.

Новый код в RegistrationForm.clean():

def clean(self):
    super(RegistrationForm, self).clean()

    if 'password1' in self.cleaned_data and 'password2' in self.cleaned_data:
        if self.cleaned_data['password1'] != self.cleaned_data['password2']:
            raise forms.ValidationError(_("The two password fields didn't match."))

    return self.cleaned_data
...