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