Adds pagination

This commit is contained in:
Mouse Reeve 2021-05-01 10:47:01 -07:00
parent 64b54510d9
commit c42be7a589
2 changed files with 9 additions and 1 deletions

View File

@ -60,6 +60,10 @@
{% endif %} {% endif %}
{% block panel %} {% block panel %}
{% endblock %} {% endblock %}
<div>
{% include 'snippets/pagination.html' with page=results path=request.path %}
</div>
</section> </section>
{% endif %} {% endif %}

View File

@ -2,6 +2,7 @@
import re import re
from django.contrib.postgres.search import TrigramSimilarity from django.contrib.postgres.search import TrigramSimilarity
from django.core.paginator import Paginator
from django.db.models.functions import Greatest from django.db.models.functions import Greatest
from django.http import JsonResponse from django.http import JsonResponse
from django.template.response import TemplateResponse from django.template.response import TemplateResponse
@ -9,6 +10,7 @@ from django.views import View
from bookwyrm import models from bookwyrm import models
from bookwyrm.connectors import connector_manager from bookwyrm.connectors import connector_manager
from bookwyrm.settings import PAGE_LENGTH
from bookwyrm.utils import regex from bookwyrm.utils import regex
from .helpers import is_api_request, privacy_filter from .helpers import is_api_request, privacy_filter
from .helpers import handle_remote_webfinger from .helpers import handle_remote_webfinger
@ -51,9 +53,11 @@ class Search(View):
"remote": search_remote, "remote": search_remote,
} }
if query: if query:
data["results"] = endpoints[search_type]( results = endpoints[search_type](
query, request.user, min_confidence, search_remote query, request.user, min_confidence, search_remote
) )
paginated = Paginator(results, PAGE_LENGTH).get_page(request.GET.get("page"))
data["results"] = paginated
return TemplateResponse(request, "search/{:s}.html".format(search_type), data) return TemplateResponse(request, "search/{:s}.html".format(search_type), data)