我想允许用户更改用户名,因此我有一个表单:
class UserForm(models.ModelForm):
class Meta:
model = User
fields = ('username', 'first_name', 'last_name')
在模板中,我有一个问候语块,例如Hello,{{request.user.username}}
当我提交一个已存在用户名的表单时,会抛出错误“此用户已存在的用户。”但在问候语块中我看到Hello,用户名(其中用户名是我提交的用户名)。
我做错了什么?任何人都面临类似的事情?
这是一个视图代码:
@login_required
def persona_edit(request):
form = PersonaForm(request.POST or None, instance=request.user.persona)
user = User.objects.get(pk=request.user.pk)
user_form = UserForm(request.POST or None, instance=user)
if form.is_valid() and user_form.is_valid():
form.save()
user_form.save()
messages.success(request, _(u'Profile updated'))
return redirect('identity:dashboard')
payload = {'form': form, 'user_form': user_form}
return render(request, 'identity/persona_edit.html', payload)