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, все в порядке, но я хочу ограничить эту страницу только для аутентифицированных пользователей.
Любая помощь будет очень признательна.