Проблемы с опытом Изменение характеристик формы для пользователей - PullRequest
0 голосов
/ 19 марта 2019

У меня возникла проблема, связанная с возможностью изменения свойств данных профиля пользователя для пользователей после того, как я установил их с начальной формой в forms.py для переопределения общих настроек django.

class EditProfileForm(UserChangeForm):

   class Meta:
      model = User
         fields=('username','first_name','last_name','email','street','city','state','zipcode','country',)

Сбой при попыткеэто, но работает, если я удаляю улицу, город, штат, почтовый индекс и страну, даже если регистрационная форма позволяет заполнять всю эту информацию.

Исходная форма позволяет мне установить всю эту информациюс регистрационной формой в forms.py без проблем, и я подтвердил свою работу без изъянов.Тем не менее, он не позволит мне отредактировать настройку после ее установки.

Любое понимание будет абсолютно оценено.Я полагаю, что это может быть потому, что у суперпользователя нет этих полей, и если да, могу ли я установить значение по умолчанию = '', если это возможно?Я не знаю, была ли в состоянии сделать это, хотя для ранее существующих пользователей, и я также пытался стереть всех пользователей и пытался сделать это без пользователей, но это тоже не сработало.

1 Ответ

0 голосов
/ 19 марта 2019

Обычно, когда я расширяю аутентификацию django, я создаю новую модель для профиля, а затем перезаписываю метод сохранения пользователя, чтобы также сохранить новое создание в расширенной таблице профиля.

Подробнее см. В этом ответе ... Создание расширенного профиля пользователя

Другим решением этой проблемы было бы использование новых сигналов Django, чтобы, по сути, сделать то же самое, но с более современным API.

https://docs.djangoproject.com/en/2.1/topics/signals/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...