Как фильтровать количество сообщений на странице в Django python
Это файл views.py
paginator = Paginator(
product_list,
5
)
show_on_page = request.GET.get('show_on_page', 5)
product_item_list = paginator.get_page(show_on_page)
а это мой файл шаблонов
<div class="show-on-page">
<label class="product-sort-label" for="show-on-page">Tonen op pagina:</label>
<select name="show-on-page" id="show-on-page">
<option value="5" selected>5</option>
<option value="10">10</option>
<option value="20">20</option>
</select>
Я хочу добавить произвольную навигацию, например, когда вы выбираете 5 из выпадающего списка, на странице должно отображаться 5 постов, если 10, то выбирается 10 постов. Может ли кто-нибудь помочь мне с этим?
я могу себе представить, ты злой:
...
show_on_page = request.GET.get('show_on_page', 5)
paginator = Paginator(product_list, show_on_page)
product_item_list = paginator.get_page(page_number_getfrom_request)
...
но почему вы не используете ListView из Django GCBV:
class ProductListView(ListView):
paginate_by = 5
model = Products
def get_paginate_by(self, *args, **kwargs):
return self.request.GET.get('show_on_page') or self.paginate_by