Как сделать поиск с пагинацией с помощью Django
Вы можете легко понять, какую функциональность я пытаюсь добавить пагинацию
- Используя опцию, я хочу показать ограниченное количество данных, например, если пользователь выбирает 10 то количество данных должно отображаться 10 .
- Далее, если пользователь вводит номер страницы 2, то он переходит на страницу номер 2 .
form.html
<form class="form-inline" method="GET" action="{% url 'bookings:cancelled_bookings_list' %}">
{% csrf_token %}
<select class="form-control w-50" data-selected="Data" name="no_of_data">
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>
<br>
<div class="input-group">
<input type="text" class="form-control w-25" placeholder="Enter Page No" name="page_no">
<div class="input-group-append">
<button class="btn btn-primary" type="submit" id="button-addon2">Go</button>
</div>
</div>
</form>
views.py
page = request.GET.get('page', 1)
paginator = Paginator(bookings, PAGE_SIZE)
try:
bookings = paginator.page(page)
except PageNotAnInteger:
bookings = paginator.page(1)
except EmptyPage:
bookings = paginator.page(paginator.num_pages)
if request.method == "GET":
no_of_data = request.GET.get('no_of_data')
page_no = request.GET.get("page_no")
paginate_by = no_of_data