У меня есть этот рабочий RegistrationForm в Django == 1.10.6.
Форма работает, потому что когда я меняю метку, она отражается в форме, но метод регистрации никогда не выполняется.
Я уже некоторое время борюсь с этим, чего мне здесь не хватает?
Вывод никогда не печатается, пользователь не сохраняется должным образом и модуль ipdb не запускается.
# -*- coding: utf-8 -*-
from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Field, Fieldset, ButtonHolder, Submit, HTML, Div
from crispy_forms.bootstrap import TabHolder, Tab, Accordion, AccordionGroup
from alistate.core.utils import LowerField
from allauth.account.forms import SignupForm as SignupFormBase
from django.contrib.auth import get_user_model
class SignupForm(SignupFormBase):
def __init__(self, *args, **kwargs):
super(SignupForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_tag = False
self.helper.layout = Layout(
Div(
Div(Field('username'), css_class='col-md-12'),
Div(Field('email'), css_class='col-md-12'),
Div(Field('password1'), css_class='col-md-12'),
Div(Field('password2'), css_class='col-md-12'),
css_class='row'),
Div(
Div(Field('nombre1'), css_class='col-md-6'),
Div(Field('apellido1'), css_class='col-md-6'),
css_class='row'),
Div(
Div(Field('nombre2'), css_class='col-md-6'),
Div(Field('apellido2'), css_class='col-md-6'),
css_class='row'),
Div(
Div(Field('telefono'), css_class='col-md-12'),
css_class='row'),
Div(
Div(Field('fecha_religiosa', css_class="datetimepicker-signup"), css_class='col-md-12'),
css_class='row'),
Div(
Div(Field('como_conocio'), css_class='col-md-12 register-know'),
css_class='row'),
)
nombre1 = LowerField(label="Nombreeee 1 (novia/o).", required=True, max_length=50)
apellido1 = LowerField(label="Apellido 1 (novia/o).", required=True, max_length=50)
nombre2 = LowerField(label="Nombre 2 (novia/o).", required=True, max_length=50)
apellido2 = LowerField(label="Apellido 2 (novia/o).", required=True, max_length=50)
fecha_religiosa = forms.DateTimeField(required=True)
telefono = LowerField(label=u"Teléfono", required=True, max_length=50)
como_conocio = forms.CharField(label=u"¿Cómo nos conociste?", required=False, widget=forms.Textarea)
class Meta:
model = get_user_model() # or whatever your User model is
def signup(self, request, user):
print("yyehehehehe")
import ipdb
ipdb.set_trace()
user.nombre1 = self.cleaned_data['nombre1']
user.apellido1 = self.cleaned_data['apellido1']
user.nombre2 = self.cleaned_data['nombre2']
user.apellido2 = self.cleaned_data['apellido2']
user.fecha_religiosa = self.cleaned_data['fecha_religiosa']
user.telefono = self.cleaned_data['telefono']
user.como_conocio = self.cleaned_data['como_conocio']
user.save()
return user