Django не происходит перенаправления при регистрации
пишу сайт, сделала модель User, форму регистрации и view для регистрации. модель User:
class User(models.Model):
"""Класс, описывающий пользователя"""
first_name = models.CharField(max_length=20, verbose_name="Имя пользователя")
last_name = models.CharField(max_length=20, verbose_name="Фамилия пользователя")
email = models.EmailField(
max_length=254, verbose_name="Электронная почта пользователя"
)
# favourites = add to favourites
def validate_length(
value, length=11
): # Display a message when creating a classified
if len(str(value)) != length:
raise ValidationError("%s is not the correct length" % value)
phone_number = models.CharField(
max_length=11,
validators=[validate_length],
verbose_name="Номер телефона",
default=None,
) # Display contact phone number
def __str__(self):
return str(self.first_name) + " " + str(self.last_name)
class Meta:
verbose_name = "Пользователь"
verbose_name_plural = "Пользователи"
Форма для регистрации:
class RegisterForm(UserCreationForm):
first_name = forms.CharField(
max_length=100,
required=True,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Имя'}),
)
last_name = forms.CharField(
max_length=100,
required=True,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Фамилия'}),
)
email = forms.EmailField(
max_length=100,
required=True,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Email'}),
)
phone_number = forms.CharField(
max_length=100,
required=True,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Номер телефона'}),
)
password = forms.CharField(
required=True,
widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Пароль'}),
)
password2 = forms.CharField(
required=True,
widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Подтверждение пароля'}),
)
class Meta:
model = User
fields = [
'first_name', 'last_name', 'email', 'phone_number', 'password1', 'password2'
]
класс представления для регистрации:
class RegistrationUserView(FormView):
form_class = RegisterForm
success_url = 'login'
template_name = 'apartment_app/registration.html'
def form_valid(self, form):
form.save()
return super(RegistrationUserView, self).form_valid(form)
def form_invalid(self, form):
return super(RegistrationUserView, self).form_invalid(form)
urls.py:
urlpatterns = [
path("", HomePage.as_view(), name="home"),
path("<int:advertisement_id>/", advertisement, name="advertisement"),
path("new/<int:advertisement_id>", make_advertisement_id, name="new_advertisement"),
path('registration/', RegistrationUserView.as_view(), name='registration'),
path('login/', login_view, name='login')
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
при попытке регистрации не всплывает никаких ошибок, однако после нажатия кнопки "зарегистрироваться" перенаправления на login не происходит, форма просто очищается и все. в чем же проблема? как реализовать перенаправление?