Использование UserCreationForm

Я изучаю django. Я хотел бы понять приведенный ниже код.

class RegisterPage(FormView):
    template_name = 'base/register.html'
    form_class = UserCreationForm
    redirect_authenticated_user = True
    success_url = reverse_lazy('tasks')

    def form_valid( self, form ):
        user = form.save()
        if user is not None:
            login( self.request, user )
        return super( RegisterPage, self ).form_valid( form )
    
    def get( self, *args, **kwargs ):
        if self.request.user.is_authenticated:
            return redirect('tasks')
        return super(RegisterPage, self).get(*args, **kwargs)

Могу ли я использовать def register( self, form ): вместо def form_valid( self, form ):?

Как self и form здесь проходят?

Могу ли я использовать def save( self, *args, **kwargs ): вместо def get( self, *args, **kwargs ):?

Я бы рекомендовал прочитать документацию здесь при использовании FormView вы наследуете методы от других родительских классов. Метод form_valid из родительского класса django.views.generic.edit.FormMixin, который имеет предопределенные аргументы. Поэтому вы не будете использовать def register( self, form ) , так как этот метод не существует в родительских классах. То же самое относится и к замене метода get на save.

Вернуться на верх