我已经使用 django-registration 创建了一个注册系统。我已经扩展了 RegistrationFormTermsOfService,如下所示。一切正常,除非任何字段无效,刷新页面并清除所有字段,因此用户必须再次输入所有内容。这是 django-registration 的默认行为吗?我真的不想更改 django 注册码。有没有办法让这个工作,所以它留下的字段填充了用户到目前为止输入的内容?
class UserCreationFormExtended(RegistrationFormTermsOfService):
email = forms.EmailField(label=("Email"), help_text = "We'll send...")
username = forms.RegexField(
label='Username:',
max_length=35,
min_length=6,
regex=r'^[\w-]{6,35}$',
help_text = 'Between 6 and 35 characters',
error_message = 'Enter between 6 and 35 alphanumeric characters.')
password1 = forms.RegexField(
max_length=30,
min_length=6,
regex=r'^[\w-]{6,35}$',
help_text = 'Between 6 and 35 characters',
error_message = 'Enter between 6 and 35 characters.')
def __init__(self, *args, **kwargs):
super(UserCreationFormExtended, self).__init__(*args,
**kwargs)
self.fields['email'].required = True
class Meta:
model = User
fields = ('username', 'email')