Я создал систему регистрации, используя django-registration. Я расширил RegistrationFormTermsOfService, как показано ниже. Все работает нормально, за исключением случаев, когда какое-либо поле недопустимо, страница обновляется, и все поля очищаются, поэтому пользователь должен ввести все заново. Это поведение по умолчанию для django-регистрации? Я не хочу менять регистрационный код 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')