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