Однако, как только я обновлен с Django 5.0 до 5.1, я увидел измененное поведение на своей странице «Создать нового пользователя», которая использовалась для разрешения пустых паролей, со случайным пароль, генерируемый, если ни один не поставляется. < /p>
Теперь я больше не могу отправлять пустой пароль. Я получаю ошибку «обязательное поле» на обоих полках пароля, даже если поля явно устанавливаются по мере необходимости = false .
Я знаю, что были некоторые изменения (5.1 .0, 5.1.1) в класс пользовательского процесса в Django 5.1. Я попытался использовать AdminuserCreationForm вместо пользовательского процесса и установить поле usable_password на None , но он все еще не разрешает пустые пароли, как раньше.
Есть идеи?
упрощенный код < /strong> < /p>
Код: Выделить всё
class SignupForm(AdminUserCreationForm): # previously using UserCreationForm
usable_password = None # Newly added
# Form fields
sharedaccountflag = forms.ChoiceField(
label='Cuenta compartida',
required=True,
choices=BOOLEAN_CHOICES
)
# Constructor
def __init__(self, *args, **kwargs):
# Call base class constructor (i.e. SignupForm)
super(SignupForm, self).__init__(*args, **kwargs)
# Set password fields as optional
self.fields['password1'].required=False
self.fields['password2'].required=False
# Set form helper properties
self.helper = FormHelper()
setFormHelper(self.helper) # set form method (POST / GET) and styling
self.helper.form_tag = False
# Set form layout
self.helper.layout = Layout(
Fieldset(
'password1',
'password2',
'sharedaccountflag'
)
)
# Specify model and which fields to include in form
class Meta:
model = get_user_model()
fields = ('password1', 'password2', 'sharedaccountflag')
< /p>
Подробнее здесь: https://stackoverflow.com/questions/793 ... -passwords
Мобильная версия