Django 5.1 UserCreationForm не допускает пустые паролиPython

Программы на Python
Ответить
Anonymous
 Django 5.1 UserCreationForm не допускает пустые пароли

Сообщение Anonymous »

Я обновляю приложение Django 3.0 до 5.1 и медленно продвигаюсь к каждому второстепенному выпуску. Пока все хорошо.
Однако, как только я обновился с Django 5.0 до 5.1, я увидел измененное поведение на странице «Создать нового пользователя», которая раньше позволяла использовать пустые пароли со случайным пароль генерируется, если он не указан.
Теперь я больше не могу отправить пустой пароль. Я получаю сообщение об ошибке «обязательное поле» в обоих полях пароля, хотя оба поля явно заданы как require=False.
Я знаю, что были некоторые изменения (5.1 .0, 5.1.1) в класс UserCreationForm в Django 5.1. Я попробовал использовать AdminUserCreationForm вместо UserCreationForm и установить для поля usable_password значение None, но пустые пароли по-прежнему не принимаются, как раньше.
Есть идеи?
Среда

Python 3.12.8

Django 5.1.5
Упрощенный код

Код: Выделить всё

from django.contrib.auth.forms import AdminUserCreationForm

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')
Снимок экрана

Изображение



Подробнее здесь: https://stackoverflow.com/questions/793 ... -passwords
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»