0

每当我尝试在 django 驱动的网络上更新用户配置文件时,我都会收到错误消息:“用户名已经存在,请提供另一个。” 我试图让它识别经过身份验证的用户。尽管其他一切都有效,但在我指定新用户名之前它不会更新。

视图.py

@login_required
def editprofile(request):
    registeredmember = request.user.get_profile()
    if request.method == 'POST':
        userprofile_edit = RegistrationForm(request.POST, instance = registeredmember)
        if userprofile_edit.is_valid():
            userprofile_edit.save()
            return HttpResponseRedirect('/profile/')
    else:
        userprofile_edit = RegistrationForm(instance = registeredmember)
    return render_to_response('carloan/editprofile.html', {'userprofile_edit': userprofile_edit}, context_instance=RequestContext(request))
4

1 回答 1

0

在编辑配置文件时,您必须排除用户名字段。

你的RegistrationForm.

class RegistrationForm(forms.form):
   #other code

   class Meta:
       exclude = ['username',]

您可以添加多个您不想包含在表单中的字段名称

于 2012-11-16T17:49:48.957 回答