2012-04-04 5 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の値を記録して、実際に何かを確認してみることができますか?メソッド宣言に入れるのではなく、user = kwargs ['user']のような処理が必要な場合があります。 – joshcartme

+0

あなたのコメントは正しい軌道に乗ってきました。元の質問を編集して、どのように修正したかを示しました。 – plumwd

関連する問題