2012-04-04 4 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) 

어떤 도움을 받고있다. 내 등록을 위해 장고 등록을 사용하고 있습니다. 당신은 간단하게 다음과 같은 일을 수정할 수 user_created으로 사용자에게 전달되기 때문에

답변

1

는 :

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를 사용하여 동일한 작업을 수행 할 수도 있습니다.

+0

간단하지만 auth_user에 정보를 저장하지 않은 것으로 보입니다. – plumwd

+0

흠, user_created의 시작 부분에 사용자의 값을 기록하여 실제로 무엇인가를 확인할 수 있습니까? 메소드 선언에 넣는 것보다는 user = kwargs [ 'user']와 같은 일을해야 할 수도 있습니다. – joshcartme

+0

귀하의 의견은 올바른 방향으로 나를 잡았고 원래의 질문을 수정하여 제가 어떻게 수정했는지 보여줍니다. – plumwd