【问题标题】:UserCreationForm has no field usernameUserCreationForm 没有字段用户名
【发布时间】:2013-10-08 15:38:02
【问题描述】:

当我有这个视图时,它给了我错误,那 UserCreationForm 没有属性 username 为什么?我认为 UserCreationForm 中有用户名字段

if request.method == 'POST': # If the form has been submitted...
                username_a_heslo = UserCreationForm(request.POST, prefix = "začátek")
                přidat_údaje = UcitelZmenaForm(request.POST, prefix = "konec")
                if username_a_heslo.is_valid() and přidat_údaje.is_valid(): # All validation rules pass
                    owner = request.user
                    owner.username = username_a_heslo.username
                    owner.save()
                    zmenahesla=request.user.set_password(username_a_heslo.password)
                    # primary = username_a_heslo.save()
                    přidat_údaje.cleaned_data["primary"] = primary
                    cast_form = Ucitel.objects.all().filter(user=request.user)
                    form = UcitelZmenaForm(přidat_údaje, instance=cast_form[0])
                    a=form.save
                    #b = přidat_údaje.save()
                    return HttpResponseRedirect('/hlavni_stranka/')
            else:
                username_a_heslo = UserCreationForm(prefix = "začátek")
                přidat_údaje = UcitelZmenaForm(prefix = "konec")
            return render(request, 'registration/prihlasen.html', {'prvni_prihlaseni':prvni_prihlaseni,'první_form': username_a_heslo,'druhý_form':přidat_údaje})

【问题讨论】:

    标签: python django python-3.3 django-1.5


    【解决方案1】:

    username 是一个字段,而不是表单上的一个属性。它在 cleaned_data 字典中,就像您在 primary 后面做的那样。

    【讨论】:

    • 谢谢,但是当我执行 username_a_heslo.cleaned_data["password"] 时,它给了我 keyerror 为什么?
    • 因为 UserCreationForm 有password1password2 字段,可以看到from the source
    猜你喜欢
    • 1970-01-01
    • 2011-11-23
    • 2018-06-23
    • 2013-01-28
    • 2020-12-24
    • 2014-03-17
    • 2018-06-11
    • 1970-01-01
    • 2021-02-28
    相关资源
    最近更新 更多