0

我已经声明了我的注册表单(用户可以在其中选择用户名并设置他的电子邮件;django-allauth 的第二步)如下:

class SignupForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super(SignupForm, self).__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.layout = Layout(
            Field('username'),
            Field('email'),
            FormActions(
                Submit('do', u'Reģistrēties', css_class='btn-primary')
            )
        )

        self.fields['username'].label = u'Lietotāja vārds'
        self.fields['email'].label = 'Epasts'

    def save(self, user):
        user.username = self.cleaned_data['username']
        user.email = self.cleaned_data['email']
        user.save()

我遇到的问题 - 我可以覆盖用户名标签,但不能覆盖电子邮件。检查初始电子邮件字段标签会产生None.

是否可以覆盖 EmailField 标签(和(optional)标签的一部分)?我应该完全切换到 i18n(如果这样我可以完全控制字段标签、错误消息等)?

4

1 回答 1

0

在我迁移到 i18n 后想通了。如果您想要对字段标签和验证错误消息进行硬编码本地化,则必须从 BaseSignupForm 扩展。但我建议坚持使用内置本地化。

于 2013-11-09T03:16:03.083 回答