Я пытаюсь выполнить регистрацию пользователя для своего приложения Django. В книге, которую я прочитал, упоминается UserCreationForm, но мне нужно больше, чем просто имя, пароль и адрес электронной почты. Я мог бы реализовать свой собственный пользовательский объект и использовать ModelForm, я думаю, но потом я теряю часть удобств django для аутентификации. Наконец, я прочитал кое-что о UserProfiles, которые дополняют пользователей, я думаю, поэтому я думаю, что мне нужна комбинация из всех этих вещей. Вот что я до сих пор.
Просмотр - это достаточно просто. Все, что я хочу сделать, это создать мою форму и сохранить пользователя
def main(request):
rform1 = forms.RegisterForm1()
rform2 = forms.RegisterForm2()
return render_to_response("authentication/index.html", {'form1': rform1, 'form2':rform2})
def register(request):
if request.method == 'POST':
rform1 = forms.RegisterForm1(request.POST)
rform2 = forms.RegisterForm2(request.POST)
if rform1.is_valid() and rform2.is_valid():
new_user = rform1.save()
return HttpResponseRedirect("/register-success/")
return render_to_response("authentication/index.html", {'form1': rform1,'form2':rform2})
Форма - это моя форма для создания пользователя. Или начало его как минимум
class RegisterForm1(forms.ModelForm):
class Meta:
model = User
class RegisterForm2(forms.ModelForm):
class Meta:
model = UserProfile
Модель - это мой UserProfile, который я хочу дополнить Пользователем.
class UserProfile(models.Model):
user = models.OneToOneField(User)
phonenumber = PhoneNumberField()
Ясно ли, что я пытаюсь сделать? Я на правильном пути