Django: Рендеринг ответа API в html, по одной странице за раз

У меня есть API, который возвращает постраничный ответ. Мое представление (показанное ниже) пытается получить ответ от этого API и отображает его в HTML search_result.html. Однако я получаю только первую страницу ответа API, а не другие страницы. Из-за проблем с производительностью я не хочу загружать все страницы вместе.

View.py

query_url = "/api/transcript/search/?identifier_field=" + search_identifier + \
        "&expand=transcript_release_set,genes,translations"
  

response = requests.get(host_url + query_url)
if response.status_code == 200:
    search_result = response.json()
    return render(request, 'search_result.html', context={'form': search_form,
                                                          'search_result': search_result,
                                                          'search_identifier': search_identifier})

Ответ API был реализован через следующее представление:

View2.py

class TranscriptSearch(generics.ListAPIView):
    queryset = Transcript.objects.all()
    serializer_class = TranscriptSearchSerializer
    filter_backends = (TranscriptSearchFilterBackend, )
    pagination_class = PageNumberPagination

    def get_queryset(self):
        queryset = Transcript.objects.order_by('pk')
        return queryset

    def get(self, request, *args, **kwargs):
        result = super(TranscriptSearch, self).get(request, *args, **kwargs)
        return result

Я не хочу выводить в HTML все страницы ответов API за один раз, это замедлит загрузку HTML-страницы. Я хочу загружать каждую страницу ответа API только тогда, когда пользователь щелкнет номер страницы из HTML. Итак, как я могу отобразить в HTML каждую страницу API-ответа по очереди, не отображая все страницы сразу?

Примечание: в файле search_result.html имеется следующий код, но он может не понадобиться

{% if search_result.has_other_pages %}
  <ul class="pagination">
    {% if search_result.has_previous %}
      <li><a href="?page={{ search_result.previous_page_number }}">&laquo;</a></li>
    {% else %}
      <li class="disabled"><span>&laquo;</span></li>
    {% endif %}
    {% for i in search_result.paginator.page_range %}
      {% if search_result.number == i %}
        <li class="active"><span>{{ i }} <span class="sr-only">(current)</span></span></li>
      {% else %}
        <li><a href="?page={{ i }}">{{ i }}</a></li>
      {% endif %}
    {% endfor %}
    {% if search_result.has_next %}
      <li><a href="?page={{ search_result.next_page_number }}">&raquo;</a></li>
    {% else %}
      <li class="disabled"><span>&raquo;</span></li>
    {% endif %}
  </ul>
{% endif %}
Вернуться на верх