Я пытаюсь добавить к нормальной нумерации страниц еще один вариант. Пользователь должен выбрать, сколько строк отображается на странице. Вот мой код просмотра
class ListaBoeView(ListView):
model = DatiBoe
testvar = 7
queryset = DatiBoe.objects.all() #DatiBoe.objects.filter(BACKSCATTER__gt= testvar)[:5] #DatiBoe.objects.all()
context_object_name = 'boe_list'
paginate_by = 3
template_name = 'filtri/boelista.html'
# def get(self, request, *args, **kwargs):
# new_signup = self.request.GET.get("paginate_by")
# print(new_signup)
def get_paginate_by(self, request, *args, **kwargs):
try:
paginate_by = self.paginate_by
print(self.paginate_by)
return self.request.GET.get("paginate_by", self.paginate_by)
#return self.request.user.profile.paginate_by
except Profile.DoesNotExist:
return super().get_paginate_by(queryset)
Вот мой код выбора для paginate_by (метод GET)
<form method="GET">
<select name="paginate_by" id="">
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
</select>
<input type="submit" value="Paginate">
</form>
Если я нажимаю кнопку разбиения на страницы, я правильно отформатирую URL-адрес (например: http://127.0.0.1: 8080 / filterri / boe_list /? Paginate_by = 10 ), но каждый раз, когда я нажимаю кнопку «следующий / предыдущий», я возвращаюсь к значению по умолчанию paginate_by = 3 в моем классе.