我已声明我的注册表单(用户可以选择用户名并设置他的电子邮件; 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(如果以这种方式我可以完全控制字段标签,错误信息等)?
答案 0 :(得分:0)
迁移到i18n后计算出来。如果需要字段标签的硬编码本地化和验证错误消息,则必须从BaseSignupForm进行扩展。但我建议坚持内置本地化。