注册期间更新名字和姓氏 - Django CMS

时间:2012-04-04 19:48:15

标签: django

我目前正在为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进行注册。

1 个答案:

答案 0 :(得分:1)

由于您将用户传递给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来执行相同操作。