【问题标题】:Custom create_user() value?自定义 create_user() 值?
【发布时间】:2010-01-17 15:12:29
【问题描述】:

注册通常需要 3 个参数。

-用户名

-密码

-电子邮件

但是当我尝试添加第四个值时,它会返回此错误:

create_user() 得到了一个意外的关键字参数“爱好”

知道如何解决这个问题吗?

这是我正在使用的表格

    def save(self):
        new_user = User.objects.create_user(
          username=self.cleaned_data['username'],
          password=self.cleaned_data['password1'],
          email=self.cleaned_data['email'],
          hobby=self.cleaned_data['hobby'])
        return new_user

这是我正在使用的视图

def register_page(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            return HttpResponseRedirect("/")
    else:
        form = RegistrationForm()
    return render_to_response("registration/register.html", {'form': form})

为了回答我自己的问题,也许是为了帮助其他有类似问题的人,我这样做了:

    def save(self):
        new_user = User.objects.create_user(
          username=self.cleaned_data['username'],
          password=self.cleaned_data['password1'],
          email=self.cleaned_data['email'])
        new_user.hobby=self.cleaned_data['hobby']
        new_user.save()
        return new_user

【问题讨论】:

    标签: django


    【解决方案1】:

    您无法更改用户模型,但您可以将配置文件附加到它,该配置文件将包含所有附加信息。阅读this了解更多信息。

    【讨论】:

    • 已经解决了这个问题,但还是谢谢你。另一方面,您可以更改 User 模型,尽管可能不建议这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 2021-02-10
    • 1970-01-01
    • 2021-09-02
    • 2013-11-28
    • 1970-01-01
    相关资源
    最近更新 更多