В настоящее время я использую django-registration v0.8a и django-recaptcha для моей регистрационной части. Все работает нормально с отображением поля recaptcha, за исключением того, что я не могу заставить RegistrationFormUniqueEmail работать. Вот некоторые подробности.
Я убедился, что мой captcha \ forms.py действительно является подклассом правильной формы:
from registration.forms import RegistrationFormUniqueEmail
class RegistrationFormCaptcha(RegistrationFormUniqueEmail):
captcha = ReCaptchaField(attrs={'theme': 'white'})
Я также поместил ключ form_class во все URL, связанные с представлением регистра, который обрабатывает вызов, например:
url(r'^register/$',
register,
{ 'form_class': RegistrationFormUniqueEmail,
'backend': 'registration.backends.default.DefaultBackend' },
name='registration_register'),
Одно странное поведение, которое я заметил, состоит в том, что, когда я пытаюсь изменить метки на моих формах, изменения не отражаются. Возможно, это часть той же проблемы, что я мог упустить из виду?
class RegistrationForm(forms.Form):
"""
Form for registering a new user account.
Validates that the requested username is not already in use, and
requires the password to be entered twice to catch typos.
Subclasses should feel free to add any additional validation they
need, but should avoid defining a ``save()`` method -- the actual
saving of collected user data is delegated to the active
registration backend.
"""
username = forms.RegexField(regex=r'^\w+$',
max_length=30,
widget=forms.TextInput(attrs=attrs_dict),
label=_("Username"),
error_messages={ 'invalid': _("This value must contain only letters, numbers and underscores.") })
email = forms.EmailField(widget=forms.TextInput(attrs=dict(attrs_dict,
maxlength=75)),
label=_("Email address"))
password1 = forms.CharField(widget=forms.PasswordInput(attrs=attrs_dict, render_value=False),
label=_("Password"))
password2 = forms.CharField(widget=forms.PasswordInput(attrs=attrs_dict, render_value=False),
label=_("Password (again)"))
Т.е. я меняю одну из меток на другую фразу, разве это не должно отражаться?
Спасибо за просмотр!