Добрый вечер. Я уже тут спрашивал по поводу, добавления двух полей в стандратную форму django-registration(не redux). Суть вопроса: необходимо дать пользователю на ровне с
username , password , email вводить имеющиейся в стандартном
User классе last_name, first_name.
И так что было сделано:
forms.pyfrom registration.forms import RegistrationForm
from django.forms.fields import CharField
from django.contrib.auth.models import User
class UpdatedRegistrationForm(RegistrationForm):
first_name = CharField(max_length=20)
last_name = CharField(max_length=30)
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2')
def save(self, commit = True):
user = super(UpdatedRegistrationForm, self).save(commit=False)
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
if commit:
user.save()
return user
urls.pyfrom django.conf.urls import include, url
from django.contrib import admin
from accounts.views import home_page, admin_panel
from accounts.forms import UpdatedRegistrationForm
from registration.views import RegistrationView
class RegistrationViewUniqueEmail(RegistrationView):
form_class = UpdatedRegistrationForm
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^home/', home_page),
url(r'^admin_pannel/',admin_panel),
url(r'^register/$', RegistrationViewUniqueEmail.as_view(), name='registration_register'),
url(r'', include('registration.backends.simple.urls')),
url(r'', include('social_auth.urls')),
]
При запуске сервера и перехода на /register/ действительно теперь помимо стандартных
username, password1, password2, email отображаются еще и желаемые
first_name , last_name
После чего отправляем данные и получаем следующее:
Но данные отправляются , это видно в теле запроса
Как гипотезу, предполагаю что возможно проблема в не переопределенном __init__() для моей формы. Но это лишь гипотеза. Буду благодарен за правки, и за дельные советы.