Как создать пользовательский пагинатор в django

Я пытаюсь использовать встроенный в django пагинатор, но он не работает, потому что я не использую объект хранения базы данных Я создаю сайт с другими api...

вот мой код:

def index(request):
    response = requests.get("https://www.hetzner.com/a_hz_serverboerse/live_data.json")
    data = response.json()
    p = Paginator(data, 3)
    pn = request.GET.get('page')
    print(pn, p, data)
    page_obj = p.get_page(pn)

    context = {
        'data': data,
        'page_obj': page_obj
    }
    return render(request, 'index.html', context)

нужно ли мне создавать пользовательский пагинатор, если да, то как? или есть ли решение?

https://docs.djangoproject.com/en/4.0/topics/pagination/#example. Вы можете передать пагинатору любой список.

Проблема заключалась в том, что ответ от API возвращал не список, а объект, где список находился под ключом сервера. Решение:


def index(request):
    response = requests.get("https://www.hetzner.com/a_hz_serverboerse/live_data.json")
    data = response.json()['server']
    p = Paginator(data, 3)
    pn = request.GET.get('page')
    print(pn, p, data)
    page_obj = p.get_page(pn)

    context = {
        'data': data,
        'page_obj': page_obj
    }
    return render(request, 'index.html', context)
Вернуться на верх