feat: index and product detail view

This commit is contained in:
2024-11-21 19:51:12 +01:00
parent 2c7e51d602
commit 8783404570
13 changed files with 369 additions and 7 deletions
+27
View File
@@ -0,0 +1,27 @@
from django.conf import settings
from django.core.paginator import Paginator
class FilteredQuerysetMixin:
queryset = None
filter_class = None
def get_filter_class(self):
return self.filter_class
def get_queryset(self):
filter_cls = self.get_filter_class()
filter_obj = filter_cls(self.request.GET)
filter_obj.is_valid()
qs = filter_obj.filter_queryset(self.queryset)
return qs
class PaginatedQuerysetMixin:
objects_per_page = settings.ITEMS_PER_PAGE or 20
def get_paginated_queryset(self, qs):
paginator = Paginator(qs, self.objects_per_page)
page = self.request.GET.get("page", 1)
qs = paginator.get_page(page)
return qs