2012-04-04 75 views
0

我目前正在Django CMS站點上爲用戶註冊應用程序。在註冊期間更新名字和姓氏 - 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註冊我的註冊。

回答

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來執行相同的操作。

+0

看起來非常簡單,但沒有將信息保存在auth_user中。 – plumwd 2012-04-04 23:52:51

+0

嗯,你可以嘗試在user_created的開頭記錄用戶的值,以確保它實際上是什麼東西?你可能需要做一些像user = kwargs ['user']而不是放在方法聲明中的東西。 – joshcartme 2012-04-05 16:32:57

+0

您的評論讓我走上了正確的軌道,我編輯了我的原始問題以展示我如何修復它。 – plumwd 2012-04-06 00:41:18

相關問題