Использование 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.