Как сделать таблицу с лимитом и номером страницы?

Для создания таблицы с лимитом и номером страницы в Django вы можете использовать функцию пагинации.

1. Пагинация в Django
Для начала вам потребуется установить Django Pagination. Это можно сделать с помощью команды pip install django-pagination.

2. Включение Pagination в Django проект
В файле settings.py, в раздел INSTALLED_APPS, добавьте pagination.

INSTALLED_APPS = [
    ...
    'pagination',
    ...
]

3. Создание представления
Вам нужно создать представление, которое будет отображать таблицу с лимитом и номером страницы. Вот пример представления:

from django.shortcuts import render
from django.core.paginator import Paginator

def table_view(request):
    items_list = YourModel.objects.all()  # Получить все объекты
    
    paginator = Paginator(items_list, 10)  # Разбиваем на страницы, по 10 объектов на каждую страницу
    page_number = request.GET.get('page')  # Получаем номер страницы из параметров GET
    
    page_obj = paginator.get_page(page_number)  # Получаем объект страницы
    
    context = {
        'page_obj': page_obj,
    }
    
    return render(request, 'table.html', context)

4. Создание шаблона для отображения таблицы
В шаблоне table.html вы можете отобразить таблицу и лимит номеров страниц. Вот пример:

<table>
    <thead>
        <tr>
            <th>Column 1</th>
            <th>Column 2</th>
        </tr>
    </thead>
    <tbody>
        {% for item in page_obj %}
            <tr>
                <td>{{ item.column1 }}</td>
                <td>{{ item.column2 }}</td>
            </tr>
        {% endfor %}
    </tbody>
</table>

<div class="pagination">
    <span class="step-links">
        {% if page_obj.has_previous %}
            <a href="?page=1">« first</a>
            <a href="?page={{ page_obj.previous_page_number }}">previous</a>
        {% endif %}
        
        <span class="current-page">{{ page_obj.number }}</span>
        
        {% if page_obj.has_next %}
            <a href="?page={{ page_obj.next_page_number }}">next</a>
            <a href="?page={{ page_obj.paginator.num_pages }}">last »</a>
        {% endif %}
    </span>
</div>

5. Подключение URL к представлению
Не забудьте подключить ваше представление к URL. В файле urls.py добавьте следующие строки:

from django.urls import path
from . import views

urlpatterns = [
    path('table/', views.table_view, name='table'),
]

Теперь, когда вы посещаете страницу, содержимое таблицы будет ограничено заданным лимитом с номером страницы, а пагинация отображает ссылки на предыдущую и следующую страницы, а также на первую и последнюю страницы.