Как получить предыдущие сохраненные данные при редактировании страницы профиля в django
При редактировании страницы профиля я получаю пустую страницу, но мне нужны предыдущие сохраненные данные.
forms.py
class UserEditForm(forms.ModelForm):
class Meta:
model=User
fields=['first_name','last_name','email']
class ProfileEditForm(forms.ModelForm):
class Meta:
model=Profile
fields=['date_of_birth','photo']
views.py
@login_required
def editprofile(request):
user_form=UserEditForm()
profile_form=ProfileEditForm()
if request.method=='POST':
user_form=UserEditForm(data=request.POST,instance=request.user)
profile_form=ProfileEditForm(data=request.POST,instance=request.user.profile,files=request.FILES)
if user_form.is_valid() and profile_form.is_valid() :
user_form.save()
profile_form.save()
return HttpResponse('profile saved')
context={'user_form':user_form,'profile_form':profile_form}
return render(request,'socialapp/editprofile.html',context)
Вы не указали instance
из Profile
при первом инстанцировании profile_form
(по пути method=GET). Так вы получаете начальные значения, которые будут ранее сохраненными значениями.
@login_required
def editprofile(request):
user_form=UserEditForm( instance = request.user)
profile_form=ProfileEditForm( instance=request.user.profile)
if request.method == POST:
...