Один проект django два приложения, проблема с общими представлениями (class view)

У меня есть два приложения в одном проекте: магазин и корзина.

В urls.py в ядре проекта:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('jewelry_store.urls', namespace='jewelry_store')),
    path('basket/', include('basket.urls', namespace='basket')), 
]

in urls.py in basket app :

from django.urls import path
from basket import views

app_name = 'basket'

urlpatterns = [
    path('', views.BasketSummary.as_view(), name='basket_summary')
]

in urls.py in jewelry_store app :


from django.urls import path

from jewelry_store.models import Category

from . import views

app_name = 'jewelry_store'

urlpatterns = [
    path('', views.AllListView.as_view(), name='all_products'),
    path('<slug:slug>', views.ProductView.as_view(), name='product_detail'),
    path('category/<slug:slug>/', views.CategoryView.as_view(), name='all_categories'),
    path('collection/<slug:slug>/', views.CollectionView.as_view(), name='all_collections'),
    
]

Я хотел бы иметь представление на основе классов в файле views.py, например так :

from msilib.schema import ListView
from django.shortcuts import render

import basket
from jewelry_store.models import Product

# Create your here.

class BasketSummary(ListView):
    model = Product
    template_name = "jewelry_store/basket/summary.html"

но он выдает ошибку следующего вида

enter image description here

когда это делается в режиме функций, все правильно. Какова правильная конфигурация для представлений классов?

попробуйте это:

class BasketSummary(ListView):
    model = Product
    template_name = "basket/summary.html"

вместо этого:

class BasketSummary(ListView):
    model = Product
    template_name = "jewelry_store/basket/summary.html"

Импортировать ListView из модуля django generic view.

В верхней части вашего файла views.py измените эту строку

from msilib.schema import ListView

To

from django.views.generic

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