2011-10-19 27 views
0

すべての行を消去し、これはそれである:私はのUserProfileラインコメント解除のUserProfileの登録は、私はユーザー登録ビューを作成している

def register(request): 
if request.method == 'POST': 
    data = request.POST.copy() # so we can manipulate data 
    # random username 
    data['username'] = hashlib.md5(data['email']).hexdigest() 
    data['username'] = data['username'][0:30] 
    #data['username'] = ''.join([choice(letters) for i in xrange(30)]) 
    form = RegisterForm(data) 
    if form.is_valid(): 
     new_user = form.save() 
     #UserProfile.objects.create(user=new_user) 
     return HttpResponse("Thanks for Registering")  
else: 
    form = RegisterForm() 

return render_to_response("CTUser/register.html", { 'form': form, }) 

#UserProfile.objects.create(user=new_user) 

メールアドレスとパスワードが正しく保存されているが、しかし、そこにいると、すべての情報が消去されます。私はここで何か間違っていますか?ここ

はのUserProfileのclasssです:

class UserProfile(User): 
user = models.OneToOneField(User) 
#user = models.ForeignKey(User, unique=True) 

#profile sub URL 
pagelink = models.CharField(max_length=40) 

#one or many albums 
albums = models.ManyToManyField(Album) 

UPDATE(10/19/11):new_userは、あなたがしたいすべてのデータが含まれている場合

class RegisterForm(UserCreationForm): 
email = forms.EmailField(label = "Email Address", max_length=75) 

class Meta: 
    model = User 
    #exclude = ['username',] 
    fields = ("username", "email") 

def clean_email(self): 
    email = self.cleaned_data["email"] 
    try: 
     user = User.objects.get(email=email) 
     raise forms.ValidationError("This email address already exists. Did you forget your password?") 
    except User.DoesNotExist: 
     return email 

def save(self, commit=True): 
    user = super(UserCreationForm, self).save(commit=False) 
    user.set_password(self.cleaned_data["password1"]) 
    user.email = self.cleaned_data["email"] 
    user.is_active = True # change to false if using email activation 
    if commit: 
     user.save() 
    return user 

答えて

0

チェック:ここ は、登録フォーム機能でありますセーブ。 RegisterFormコードを貼り付けます。私は今夜​​意志

user = super(RegisterForm, self).save(commit=False) 
+0

user = super(UserCreationForm, self).save(commit=False) 

が、new_userは、すべての値があります。

EDIT

は、変更しよう。電子メール/ユーザー名フィールドの電子メールのMD5ハッシュバージョン、およびパスワードフィールド。 UserProfile.objects.create(user = new_user)オブジェクトを作成せずに登録するときは、管理ページで確認しました。 – ArmenB

関連する問題