Sto tentando di visualizzare un semplice ModelForm per il profilo di un utente e consentire all'utente di aggiornarlo. Il problema qui è che la mia logica è in qualche modo imperfetta e, dopo una chiamata form.save(), i vecchi valori vengono visualizzati nella pagina. Non è fino a un aggiornamento che viene mostrato il valore appropriato. Cosa c'è di sbagliato qui?Django, aggiornamento di un profilo utente con un ModelForm
@login_required
def user_profile(request):
success = False
user = User.objects.get(pk=request.user.id)
upform = UserProfileForm(instance=user.get_profile())
if request.method == 'POST':
userprofile = UserProfileForm(request.POST, instance=user.get_profile())
if userprofile.is_valid():
up = userprofile.save(commit=False)
up.user = request.user
up.save()
success = True
return render_to_response('profile/index.html',
locals(), context_instance=RequestContext(request))
Sto solo cercando di aggiornare un profilo esistente, non aggiungerne uno nuovo.