0

我目前正在开发 Django CMS 网站上的用户注册应用程序。

我的注册表工作得很好并创建了用户,并将我的自定义字段添加到我的注册模型中。

我想知道的是如何更新 auth_user 以包含用户的名字和姓氏。

目前正在以这种方式创建用户:

import newform
from betaregistration.newform import RegistrationFormZ

def user_created(sender, user, request, **kwargs):
    form = RegistrationFormZ(request.POST)
    data = newform.BetaProfile(user=user)
    data.first_name = form.data["first_name"]
    data.last_name = form.data["last_name"]
    data.address = form.data["address"]
    data.city = form.data["city"]
    data.state = form.data["state"]
    data.postal_code = form.data["postal_code"]
    data.country = form.data["country"]
    data.phone= form.data["phone"]
    data.email = form.data["email"]
    data.save()

    # this was the solution
    user.first_name = form_data['first_name']
    user.last_name = form_data['last_name']
    user.save()
    # end solution

from registration.signals import user_registered
user_registered.connect(user_created)

任何帮助表示赞赏。我正在使用 django-registration 进行注册。

4

1 回答 1

1

由于您将 user 传递给 user_created 您可以简单地修改如下内容:

data.first_name = user.first_name = form.data["first_name"]
data.last_name = user.last_name = form.data["last_name"]

....

user.save()

我可能会遗漏一些东西,但如果你真的可以访问 user_created 中的用户,那应该可以工作。您也可以使用 request.user 而不是 user 来做同样的事情。

于 2012-04-04T20:52:11.387 回答