Я хочу создать форму регистрации пользователя с дополнительными полями.
Основная форма взята из registration-redux. Я создала модель
"Newperson" и привязала ее к RegistrationProfile.
В html отобразила эти 2е формы. Но загружается только форма NewpersonForm.
Подскажите пожалуйста как решить проблему.
models.py:
from registration.models import RegistrationProfile
class Newperson(models.Model):
user = models.ForeignKey(RegistrationProfile, primary_key=True)
phone_number=models.IntegerField()
first_name=models.CharField(max_length=120, blank=True, null=True)
last_name=models.CharField(max_length=120, blank=True, null=True)
timestamp=models.DateField(auto_now_add=True, auto_now=False)
updated=models.DateField(auto_now_add=False, auto_now=True)
forms.py:
class NewpersonForm(forms.ModelForm):
class Meta:
model=Newperson
fields=['first_name', 'last_name', 'phone_number']
def clean_first_name(self):
first_name=self.cleaned_data.get('first_name')
return first_name
def clean_last_name(self):
last_name=self.cleaned_data.get('last_name')
return last_name
views.py:
def registranion_newperson(request):
newperson_form=NewpersonForm(request.POST or None)
if newperson_form.is_valid():
first_name=newperson_form.cleaned_data.get('first_name')
last_name=newperson_form.cleaned_data.get('last_name')
phone_number=newperson_form.cleaned_data.get('phone_number')
newperson_form.save()
context={
'newperson_form':newperson_form,
}
return render(request, 'registration/registration_form.html', context)
urls.py:
url(r'^accounts/', include('registration.backends.default.urls')),
url(r'^accounts/register/$', 'newsletter.views.registranion_newperson', name='registranion_newperson'),
registration_form.html:
{% block content %}
<div class="col-sm-6 col-sm-offset-3">
<h1 class="text-align-center">Регистрация пользователя</h1>
<form method="post" action="">
{% csrf_token %}
{{ form|crispy }}
{{ newperson_form|crispy }}
<input class="btn btn-primary" type="submit" value="{% trans 'Зарегистрироваться' %}" />
</form>
</div>
{% endblock %}