Django перенаправляет на страницу LoginView вместо страницы ListView

Я установил функции входа и выхода из системы на своем сайте. Я использую Django 3.2. Я использовал представления на основе классов, как показано ниже, для создания представлений входа, выхода и списка:

class UpdatedLoginView(LoginView):
    form_class = LoginForm
    template_name = 'user/login.html'
    redirect_field_name='main/homepage.html'

    def form_valid(self, form):
    
        remember_me = form.cleaned_data['remember_me']
        if not remember_me:
            self.request.session.set_expiry(0)
            self.request.session.modified = True
        return super(UpdatedLoginView, self).form_valid(form)

class MyLogoutView(LogoutView):
    template_name = 'user/logout.html'

Веб-сайт, к которому я пытаюсь получить доступ, подключен к этому представлению:

class ArticleListView(LoginRequiredMixin, ListView):
    template_name = 'hal/ArticleListView.html'
    model = Article
    paginate_by = 5
    queryset = Article.objects.filter(status=1)
    
    def get_context_data(self, **kwargs):
        context = super(ArticleListView, self).get_context_data(**kwargs)
        categories = Category.objects.all()
        context['categories'] = categories
        return context

мой url.py выглядит следующим образом:

urlpatterns = [
    path('login/', views.UpdatedLoginView.as_view(), name='login'),
    path('logout/', views.MyLogoutView.as_view(), name='logout'),
    path('articles/', views.ArticleListView.as_view(), name='article_list'),
]

Мой файл settings.py

LOGIN_URL = 'login'
LOGIN_REDIRECT_URL = 'homepage'
LOGOUT_REDIRECT_URL = 'homepage'

Я могу успешно войти в систему и получить доступ к главной странице, однако когда я пытаюсь получить доступ к странице articles/ со списком статей, вместо доступа к этой странице я перенаправляюсь на страницу входа. Мой url после перенаправления выглядит следующим образом: http://127.0.0.1:8000/login/?next=/articles/. Я совсем новичок в Django и, возможно, что-то упускаю. Я прочитал документацию Django 3.2, но не нашел ответов.

Когда я удаляю LoginRequiredMixin из ArticleListView, все в порядке, но я хочу ограничить эту страницу только для аутентифицированных пользователей.

Любая помощь будет очень признательна.

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