Ленивая загрузка пагинации в django
У меня есть функция, которая делает 100 запросов к API, однако есть ограничение по скорости - что-то около 15 запросов в секунду. Поэтому я попытался использовать Django EL(Endless) Pagination для того, чтобы получить что-то вроде пагинации в стиле Twitter. Эффект, который я хотел получить, заключался в том, что по умолчанию будут показаны только первые десять элементов, а когда пользователь прокрутит страницу до конца, будут загружены следующие десять элементов. Однако в настоящее время пагинация только пагинация шаблона, а не представления, в котором запрашиваются данные. Кажется, что процесс пагинации выглядит следующим образом:
- Call the function to send 100 queries.
- Display first 10 elements.
- When user reach the end, call again the function to send 100 queries.
- Show another 10 elements.
По сути, каждый раз, когда запрашивается следующая страница, вызывается функция view.
Функция просмотра выглядит примерно так:
def user_info(request, user_account, template="entry_list.html"):
# Function that makes the 100 requests
entry_list = helpers.get_summary_list(user_account)
context = {
"entry_list": entry_list,
}
if request.is_ajax():
template = "entry_list_page.html"
return render(request, template, context)
Затем в шаблоне:
{% load el_pagination_tags %}
{% lazy_paginate entries %}
{% for entry in entries %}
{# your code to show the entry #}
{% endfor %}
{% show_more %}