если вы хотите использовать имя шаблона.

от вопрос уже есть ответ здесь:

Django: Как войти в систему сразу после регистрации, используя универсальный CreateView 1 ответ

Автоматический вход новых зарегистрированных пользователей не работает в случае «регистрации на основе классов».

Я последовал примеруэтот урок, который предлагает следующий вид регистрации:

# myapp/views.py
from django.contrib.auth.forms import UserCreationForm
from django.urls import reverse_lazy
from django.views import generic

class SignUp(generic.CreateView):
    form_class = UserCreationForm
    success_url = reverse_lazy('login')
    template_name = 'signup.html'

Я попытался включить решение на основе класса изэтот ответ, но после успешной регистрации нового пользователя, регистрация не происходит, как ожидалось. Есть ли изменения в Django 2.1.4, которые могут привести к его неисправности?

myapp.users.views:

from django.views import generic
from django.contrib.auth import authenticate, login
from .forms import CustomUserCreationForm

class SignUp(generic.CreateView):
    form_class = CustomUserCreationForm
    success_url = '/index'
    template_name = 'signup.html'

    #auto login after register: 
    def form_valid(self, form):
        #save the new user first
        form.save()
        #get the username and password
        username = self.request.POST['username']
        password = self.request.POST['password1']
        #authenticate user then login
        user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password1'],)
        login(self.request, user)
        return super(SignUp, self).form_valid(form)

Ответы на вопрос(1)

Ваш ответ на вопрос