Django Как представить пользовательские значения на встроенном EditProfileForm

Моя форма как на фото. Я хочу показать данные пользователя, такие как имя, фамилия, номер телефона... https://imgur.com/a/5qgvNC1

в моем forms.py я редактирую EditProfileForm как CustomEditProfileForm . Я пытаюсь предоставить данные пользователя в части значения ('value': User.Accounts.name). Я не знаю, как получить данные из модели счетов.

class CustomEditProfileForm(EditProfileForm): 
    name = forms.CharField(widget=forms.TextInput(attrs={'class':'validate','value':User.Accounts.name}))
    middlename = forms.CharField(widget=forms.TextInput(attrs={'value':'username'}))
    lastname = forms.CharField(widget=forms.TextInput(attrs={'value':'username'}))
    highschool = forms.CharField(widget=forms.TextInput(attrs={'value':'highschool'}))
    college = forms.CharField(widget=forms.TextInput(attrs={'value':'college'}))
    citystate = forms.CharField(widget=forms.TextInput(attrs={'value':'citystate'}))

2 ответа

Я сделал, передав "имя модели профиля" в экземпляре.

Мне не нужен встроенный UserChangeForm. У меня была форма профиля для профиля. поэтому я передал это имя формы в коде и передал в качестве примера имя модели "account". Тогда я могу увидеть значения на странице редактирования.

Спасибо Даниэль, коды views.py в изображении. введите описание изображения здесь

Если вы хотите получить данные (CustomEditProfileForm), вы используете для view.py

и вы можете контролировать данные в функции проверки.

def customeditprofile_view(request):
    form = CustomEditProfileForm(request.POST)
    if form.is_valid():
        pass

или же

def customeditprofile_view(request):
    name = request.POST.get('name')
    middlename = request.POST.get('middlename')
    pass
Другие вопросы по тегам