0
등록/로그인 작업을 포함하는 webapp를 만들려고합니다. 로그인은 정상적으로 작동하지만 등록 양식은 실망 스럽습니다.django - 등록 양식 정보를 사용자 프로필 모델에 연결
UserCreationForm을 상속 한 클래스 등록 양식이 있습니다. 관리자 페이지가 만들어지면 사용자가 만들어지고 표시되지만 문제는 관리자 페이지의 UserProfile 모델에서 볼 수 없습니다. 그것은 정보를 연결하지 않으며 나는 그 (것)들을 연결하는 방법을 찾아 낼 수 없었다.
class UserProfile(models.Model):
user = models.OneToOneField(User,
on_delete=models.CASCADE
)
username = models.TextField(max_length=30, default="")
first_name = models.TextField(max_length=30, default="")
last_name = models.TextField(max_length=30, default="")
country = models.TextField(max_length=30, default="Which country are you from?")
city = models.TextField(max_length=30, default="Which city are you from?")
class ColorChoice(models.Model):
user = models.ForeignKey(
'UserProfile',
on_delete=models.CASCADE
)
color1 = models.IntegerField()
color2 = models.IntegerField()
color3 = models.IntegerField()
color4 = models.IntegerField()
color5 = models.IntegerField()
과 등록을하지 내 view.py : 여기
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class RegistrationForm(UserCreationForm):
email = forms.EmailField(required=True)
city = forms.CharField(required=False)
country = forms.CharField(required=True)
first_name = forms.CharField(required=True)
last_name = forms.CharField(required=True)
username = forms.CharField(required=True)
class Meta:
model = User
fields = (
'username',
'first_name',
'last_name',
'country',
'city',
'email'
)
def save(self, commit=True):
user = super(RegistrationForm, self).save(commit=False)
#user.first_name = self.cleaned_data['first_name']
if commit:
user.save()
return user
내 모델입니다 :
def register(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
form.save()
return redirect('color')
else:
form = RegistrationForm()
args = {'form': form}
return render(request, 'account/create_new.html', args)
나는 어떤'UserProfile' 모델을 참조니까. 'UserModel' ='UserProfile'입니까? 그렇다면 사용자가 생성 될 때 객체를 저장하지 않습니다. –
@SachinKukreja 죄송 합니다만, UserModel 모델은 내가 알아 차 렸기 때문에 그것을 바꿨다는 것을 잊었습니다. –