Django form_valid() не работает для регистрации
Я пытаюсь создать регистрационную форму с помощью Django. Но когда я пытаюсь, форма не работает, данные не отправляются в базу данных. Я знаю почему форма не работает, потому что метод form_valid не работает. Мой вопрос в том, как я узнаю, что он не работает? Где я нашел ошибку? Вот мой код.
models.py
class Account(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), unique=True)
full_name = models.CharField(max_length=150)
create_account = models.DateTimeField(default=timezone.now)
is_active = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_reviewer = models.BooleanField(default=False)
is_admin = models.BooleanField(default=False)
objects = CustomAccountManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['full_name']
def __str__(self):
return self.full_name
forms.py
class RegistrationForm(UserCreationForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['full_name'].widget.attrs.update({
'required' : '',
'type' : 'email',
'placeholder' : 'Nama Lengkap Anda',
})
self.fields['email'].widget.attrs.update({
'required' : '',
'type' : 'text',
'placeholder' : 'emailanda@universitasmulia.ac.id',
})
self.fields['password1'].widget.attrs.update({
'required' : '',
'type' : 'password',
'placeholder' : 'Password',
})
self.fields['password2'].widget.attrs.update({
'required' : '',
'type' : 'password',
'placeholder' : 'Konfirmasi Ulang Password',
})
class Meta:
model = Account
fields = ("full_name", "email", "password1", "password2")
views.py
class RegistrationView(FormView):
template_name = 'authentication/registration.html'
form_class = RegistrationForm
success_url = '/authentication'
def form_valid(self, form):
messages.success(self.request, 'Please Check Your Email For Infomation Detail!')
print('Success Created Your Account')
registration.html
<form method="POST" class="register-form" id="register-form">
{% csrf_token %}
<div class="form-group">
<label for="email"><i class="zmdi zmdi-email"></i></label>
{{form.email}}
</div>
<div class="form-group">
<label for="name"><i class="zmdi zmdi-account material-icons-name"></i></label>
{{form.full_name}}
</div>
<div class="form-group">
<label for="pass"><i class="zmdi zmdi-lock"></i></label>
{{form.password1}}
</div>
<div class="form-group">
<label for="re-pass"><i class="zmdi zmdi-lock-outline"></i></label>
{{form.password2}}
</div>
<div class="form-group">
<input type="checkbox" name="agree-term" id="agree-term" class="agree-term" />
<label for="agree-term" class="label-agree-term"><span><span></span></span>Saya Menyetujui Peraturan <a href="#" class="term-service">Dokumen Ini</a></label>
</div>
<div class="form-group form-button">
<input type="submit" name="signup" id="signup" class="form-submit" value="Register"/>
</div>
</form>