Как получить предыдущие сохраненные данные при редактировании страницы профиля в 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:
       ...
Вернуться на верх