Здравствуйте.
Пытаюсь создать новую запись в User через CBV
class Registration(FormView):
form_class = Reg_Form
template_name = 'registration.html'
def form_valid(self, form):
c_d_f = form.cleaned_data
user = User.objects.create_user(username=c_d_f['login'],email=c_d_f['email'], password=c_d_f['pas'])
user.is_staff = False
user.save()
user = auth.authenticate(username= c_d_f['login'], password= c_d_f['pas'] )
if user is not None:
auth.login(self, user)
return reverse('group_list')
Вроде все правильно--получаем данные из формы --созаем новую запись Юзер.
но выдает ошибку:
" Exception Type: IntegrityError
Exception Value: column username is not unique"
в чем может быть ошибка?
(я раньше создавал запись в Юзер через функцию-преставление, а сейчас скорее всего, что-то упускаю )
еще вот вопрос-- в этом куске:
user = auth.authenticate(username= c_d_f['login'], password= c_d_f['pas'] )
if user is not None:
auth.login(self, user)
в auth.login правильно ли прописывать self
на всякий случай вот еще оно представление с аутентификацией пользователя,поскольку это все идет обычно в одной связке ,возможно, и тут есть ошибка --посмотрите,пожалуйста :
class Start(FormView):
form_class = Start_Form
template_name = 'start.html'
def form_valid(self, form):
c_d_f = form.cleaned_data
if '@' in str(c_d_f['login']): # если @ присутствует в поле логин, то пользователь пытается войти через email
user = auth.authenticate(email=c_d_f['login'], password= c_d_f['pas'])
else:
user = auth.authenticate(username=c_d_f['login'], password= c_d_f['pas'])
if user is not None:
auth.login(self, user)
return reverse('group_list')
заранее спасибо