Страница входа в систему показывает ошибки при перенаправлении вместо того, чтобы показывать ошибки при входе в систему

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

В другом проекте представление перезагружает представление входа в систему с ошибками. Я использую Django 3.2 в обоих проектах. Этого кода должно быть достаточно, но если вам нужно больше информации, пожалуйста, не стесняйтесь спрашивать!

class LoginView(FormView):
    form_class = LoginForm
    template_name = 'users/forms/login.html'
    success_url = reverse_lazy('blog:index')

    def dispatch(self, request, *args, **kwargs):
        if self.request.user.is_authenticated:
            return redirect('blog:index')
        return super(LoginView, self).dispatch(request, *args, **kwargs)

    def form_valid(self, form):
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        user = authenticate(username=username, password=password)

        if user is not None:
            if user.is_active:
                login(self.request, user)
                return redirect('blog:index')
            else:
                messages.error(self.request, "Your account is not active, please contact an administrator",
                           extra_tags='alert alert-danger')
        else:
            messages.error(self.request, "Username/Password is invalid", extra_tags='alert alert-danger')

        return super(LoginView, self).form_valid(form)

Я отображаю сообщения в шаблоне входа в систему. Сообщения работают, они просто не отображают вид входа (при перезагрузке), вместо этого он переводит меня на url успеха! Что я упускаю? Это буквально тот же самый код, который я использую в другом проекте, и он работает так, как ожидалось.

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