Django用户名编辑问题

时间:2011-07-14 12:19:48

标签: django django-authentication

我想允许用户更改用户名,因此我有一个表单:

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)

0 个答案:

没有答案