我正在尝试显示一个简单的ModelForm,用于用户的个人资料,并允许用户进行更新。问题在于我的逻辑有些错误,在成功调用form.save()后,旧值会显示在页面上。直到刷新后才会显示正确的值。这里出了什么问题?
@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))
我只是想更新现有的个人资料,而不是添加新的。