У меня есть категории товаров ListView когда я перехожу на определенный каталог DetailView
В каталоге я подгружаю связанные с ним товары через product_set.all мне надо сделать пагинацию для товаров
Каталог и товары 2-а разных приложения но они связаны. В каталоге есть представления о списке категорий и одна категория а в приложении товары есть одно представление карточка товара то-есть DetailView
Код категорий
app_name = 'catalog'
urlpatterns = [
path('', CategoriesList.as_view(), name='categories_list'),
path('<str:slug>/', CategoryDetail.as_view(), name='category_detail'),
]
class CategoriesList(ListView):
model = Category
context_object_name = 'categories'
template_name = 'catalog/categories_list.html'
class CategoryDetail(DetailView):
model = Category
template_name = 'catalog/category_detail.html'
Код продуктов
app_name = 'product'
urlpatterns = [
# Перенаправление в каталог
path('', RedirectView.as_view(url='/catalog/')),
path('<str:slug>/', ProductDetail.as_view(), name='detail'),
]
class ProductDetail(DetailView):
"""Карточка товара"""
model = Product
template_name = 'products/products_detail.html'
def get_context_data(self, **kwargs):
"""Добавляю представление о форме ввода комментария"""
context = super().get_context_data(**kwargs)
context['comment_form'] = CommentForm()
return context
И теперь вопросы
1) Лучше переопределить DetailView каталога в ListView и сделать пагинацию?
1.1) Тогда по логике в каком приложении должно находиться это в представление ведь это и список товаров и категория
2) Сделать пагинацию в DetailView, тогда подскажите как это сделать желательно подробно. Я смотрел ответы и код но я не могу в нем разобраться как это работает вот ссылки
-
https://stackoverflow.com/questions/25569551/pagin...
-
https://gist.github.com/nspo/5ab1ecde7e918a5fa2662...
-
https://www.reddit.com/r/django/comments/6tdavj/he...