Я пишу веб-сайт, и я хотел бы реализовать управление профилем. Основная вещь
было бы отредактировать некоторые пользовательские данные самостоятельно, такие как имя и фамилия
и т. д. Теперь мне пришлось расширить модель пользователя, чтобы добавить свои собственные вещи и адрес электронной почты.
У меня проблемы с отображением формы. Пример лучше опишу что я
хотел бы добиться.
Это моя расширенная пользовательская модель.
class UserExtended(models.Model):
user = models.ForeignKey(User, unique=True)
kod_pocztowy = models.CharField(max_length=6,blank=True)
email = models.EmailField()
Вот так выглядит моя форма.
class UserCreationFormExtended(UserCreationForm):
def __init__(self, *args, **kwargs):
super(UserCreationFormExtended, self).__init__(*args, **kwargs)
self.fields['email'].required = True
self.fields['first_name'].required = False
self.fields['last_name'].required = False
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email')
Он отлично работает при регистрации, так как мне нужно разрешить пользователям вводить имя пользователя и адрес электронной почты, но когда дело доходит до редактирования профиля, отображается слишком много полей. Я не хотел бы, чтобы они могли редактировать имя пользователя и электронную почту. Как я могу отключить поля в форме?
Спасибо за помощь.