Продолжая свою тематику про регистрацию на джанго.
Я переопределил свою форму выглядит это теперь так
class RegistrationForm(RegistrationFormUniqueEmail):
first_name = forms.CharField(label=u"First Name", required=True)
last_name = forms.CharField(label=u"Last Name", required=True)
username = forms.CharField(label=None)
email = forms.CharField(label=None)
password1 = forms.CharField(label="Password", widget=forms.PasswordInput)
password2 = forms.CharField(label="Password confirmation", widget=forms.PasswordInput)
def save(self, profile_callback=None):
new_user = User.objects.create_user(username=self.cleaned_data['username'],
password=self.cleaned_data['password1'],
email=self.cleaned_data['email'],
first_name=self.cleaned_data['first_name'],
last_name=self.cleaned_data['last_name'],
)
new_user.is_active = True
new_user.save()
g = Group.objects.get(name='users')
g.user_set.add(new_user)
return new_user
В этой форме я так же добавляю пользователя в ранее созданную Group users.
И так.
Написал шаблон, урл.
Захожу на /register/ ввожу свои данные, отправляю на сервер. Регистрация завершена.
Но смотрю базу , и поле is_active у моего юзера = 0
Потом что я заметил.
Если в save() написать что то, что бросает exception (например print 1/0) то получаю ошибку, но пользователь добавляется в базу и is_active = 1
Это так, занимательный факт.
А на самом деле, хочу получить советы, как сделать пользователя сразу active , без подтверждения по имейлу?
Ввожу запрашиваемые данные