У меня есть модель Django Model Form, и я пытаюсь установить поле имени пользователя равным полю электронной почты.Django Forms - установить поле имени пользователя, равное полю электронной почты
Вот моя форма
class UserForm(forms.ModelForm):
email = forms.EmailField()
username = forms.CharField(widget=forms.HiddenInput())
class Meta:
model = User
fields = ('email', 'username')
настоящее время я использую некоторые JavaScript, чтобы скопировать новое значение электронной почты на имя пользователя скрытый вход, прежде чем пользователь отправляет форму, но я хотел бы сделать это на стороне сервера.
Я попытался установить его, выполнив следующие UserForm['username'] = email
перед сохранением формы и получив следующую ошибку: object does not support item assignment
.
Любые советы будут оценены.
Вы можете использовать предоставленный ответ или попробовать приложение, которое обрабатывает это для вас. Вы можете проверить https://github.com/pennersr/django-allauth 2 строки в своих settings.py, и у вас есть то, что вы ищете. – cdvv7788