У меня есть форма, принимающая количество элементов, которые будут перечислены на странице. Я реализовал эту форму в шаблоне (скажем, show.html). Поскольку страница вызывается изначально, она не принимает никаких значений, поэтому я отображаю 5 элементов списка по умолчанию. Но проблема возникает, когда я использую нумерацию страниц. ,Разбиение на страницы не имеет никакого отношения к форме, поэтому, когда я нажимаю «Далее» в разбивке на страницы, значение по умолчанию, которое установлено по умолчанию (например, в данном случае 5), когда не вызывается действие post, выполняется. Моё требование таково, что (сначалая отображаю 5 элементов). Затем, когда я задаю значение для поля ввода, оно должно быть запомнено, и это значение должно использоваться для выполнения количества элементов списка до тех пор, пока я не изменю количество элементов в списке.
просмотр
def show(request):
category_list= Category.objects.all()
count= request.POST.get('noofitems',5) //number of items is 2 if no post request is send
paginator = Paginator(category_list, count) # Show 25 contacts per page
page = request.GET.get('page')
categories = paginator.get_page(page)
return render(request,"show.html",{'category':categories})
Форма
-------
<form action="/show" method="post">
{% csrf_token %}
<label >Number of items </label>
<input type="text" name="noofitems" />
<input type="submit" value="OK"/>
</form>
из django.contrib администратор импорта
из пути импорта django.urls
из представлений импорта категории
urlpatterns = [
путь ('admin /', admin.site.urls),
путь('cat', views.cat), путь ('list', views.list),
путь ('show', views.show), путь ('addcategory', views.addcategory), путь ('edit/ ', views.edit),
путь («update /», views.update),
путь («delete /», views.destroy), путь («панель мониторинга», views.dashboard),]