Привет, у меня возник такой вопрос, у меня есть форма и есть представление сделанное на основе cbv
class UserFormView(CreateView):
form_class= MyUserCreationForm
template_name='registration/reg.html'
def form_valid(self, form):
form.instance.user = self.request.user
return super(UserFormView, self).form_valid(form)
как правильно встроить авторизацию, в таком виде не хочет работать:
class UserFormView(CreateView):
form_class= MyUserCreationForm
template_name='registration/reg.html'
def form_valid(self, form):
form.instance.user = self.request.user
username = self.request.POST['username']
password = self.request.POST['password2']
print(username)
print(password)
userauth = authenticate(self.request,username=username,password=password)
print(userauth)
if userauth is not None:
if userauth.is_active:
login(self.request, userauth)
return super(UserFormView, self).form_valid(form)
получается что username и password я получаю и передаю их в метод
но ответ от метода None , погугля можно подумать что он просто не находит такого пользователя потому что он еще не сохранен в бд. но метод form_valid(form) просто берет делает редирект на указынный урл. Если представление написано с логикой не CBV то в нем авторизация работает нормально.