LoginRequiredMixin не работает корректно с URL-адресом входа в систему

Я работаю над проектом Django, в котором я реализовал ListView для отображения списка элементов оформления заказа (ListCheckoutView). Я хочу потребовать аутентификацию для доступа к этому представлению, но в настоящее время оно доступно даже без входа в систему. Я пробовал использовать LoginRequiredMixin, но, похоже, он работает не так, как ожидалось. В checkout.html все работает правильно

from django.urls import path
from .views import BooksListView, BooksDetailView, BookCheckoutView, OrderComplete, SearchResultsListView, ListCheckoutView

urlpatterns = [
    path('', BooksListView.as_view(), name='list'),
    path('books/', ListCheckoutView.as_view(), name='list2'),
    path('<int:pk>/', BooksDetailView.as_view(), name='detail'),
    path('<int:pk>/checkout/', BookCheckoutView.as_view(), name='checkout'),
    path('complete/', OrderComplete, name='complete'),
    path('search/', SearchResultsListView.as_view(), name='search_results'),
]

from django.views.generic import ListView
from django.contrib.auth.mixins import LoginRequiredMixin 
from .models import Book, Order

class ListCheckoutView(LoginRequiredMixin, ListView):
    model = Book
    template_name = 'base.html'
    login_url = 'login'

class BookCheckoutView(LoginRequiredMixin, DetailView):
model = Book
template_name = 'checkout.html'
login_url     = 'login'
from django.contrib.auth.decorators import login_required

@login_required
class ListCheckoutView(ListView):
    model = Book
    template_name = 'base.html'
    login_url = 'login'

Вы можете использовать этот декоратор @login_required после его импорта

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