Лучший способ зарегистрировать пользователя в Django

Я пытаюсь реализовать регистрацию пользователей для моего приложения 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()

Понятно, что я пытаюсь сделать? Я на правильном пути

Ответы на вопрос(2)

Ваш ответ на вопрос