-2

현재 페이지 및 총 레코드 인덱스를 볼 수있는 옵션이 있습니까? 예를 들어django-endless-pagination django-pagination 레코드 인덱스 페이지 및 합계

:

기록 51-100, 980 총

페이지에 #

2

나는 아마 다음 코드를 많이 {% with object_list.count as "pages_total" %} templatetag을 사용할 수 있습니다 .. 그리고 {% endwith %} 끝 코드에서 .. {% paginate %} 또는 {% autopaginate %} 전에 완료되었지만 좋은 해결책이 아닌 것 같습니다. 또한 다른 db 호출을 만듭니다.

문서에서 찾을 수 없으며 {{ object_list.count }}은이 상황에서 50을 제공합니다.

답변

0

모든 장고 페이지 매김 기가 장고의 내장 된 Paginator 클래스를 확장합니다. 가장 좋은 해결책은 Paginator.count을 사용하여 모든 페이지에있는 요소의 총 개수를 얻는 것입니다 (QuerySet 개체를 Paginator에 전달하는 경우). doc :

object_list에 포함 된 개체 수를 결정할 때 Paginator는 먼저 object_list.count()를 호출 해 봅니다. object_list에 count() 메소드가없는 경우 Paginator는 len (object_list)를 사용하여 fallback됩니다. 이렇게하면 Django의 QuerySet과 같은 객체가 사용 가능한 경우 더 효율적인 count() 메소드를 사용할 수 있습니다.

그렇습니다. 다른 DB 쿼리를 수행하지만 요소 수를 모르는 경우 불가피합니다. Django는 SELECT COUNT(*) 문을 사용하는 count()을 사용할 것이므로 행 수를 얻는 가장 좋은 방법입니다.

+0

입니다. '{% include "paginator.html"%} "사용. 내가 언급 한 두 가지 해결책은 총 개체 수를 인식하고 있습니다. 그들은 queryset을 여러 부분으로 나누었 기 때문에 그것을 가지고 있어야합니다. '{% pages.total_count %} '템플릿 태그가 없거나 변수를 사용할 수없는 이유가 궁금합니다. 또는 돔 문서를 여기에서 놓친 것일 수도 있습니다. – Robert

+0

페이지 매김 div를 더 어렵게 만드는 이유는 무엇입니까? –

+0

당신은'{total_count} '를'{% with object_list.count' 'total_count "%}'로 유지해야합니다. 그때 만 paginator div (총 레코드 수를 보여줍니다)를 사용할 수 있습니다. 내가 생각하기에 장고 - 페이지 매김이나 장고 - 끝없이 - 페이지 매김이 그러한 변수를 제공한다면 이것은 더 쉬울 것이라고 생각한다. 코드가 더 깨끗해졌고 하나의 쿼리가 db에 충돌했습니다.단순히 pagination_tags를로드 한 다음 paginator div를 포함하여 객체 목록 +를 자동 태그 추가하는 것 (실제로 어떻게 처리하는지)이 더 좋을 것입니다. 총 카운트 및 현재 페이지 시작/끝 인덱스가 없습니다. – Robert

1

사람들은 이것을 지나치게 복잡하게 만듭니다. 나는 thee current_start_index와 current_end_index 함수가 소스에 꽤 잘 문서화되어 있음을 발견했다. (실제 문서에서는 그렇지 않다.)

다음은이를 수행하는 방법입니다.

{{pages.current_start_index가}}를 통해이 {{pages.current_end_index가}}의이 {{pages.total_count가}} 결과

희망이 도움이 사람 : D

2

당신은 끝없는 매김 2.0 장고를 사용하는 경우 , 당신은 할 수 템플릿이를 사용하는 것입니다 :

{% load endless %} 
{% paginate entries %} 
{% for entry in entries %} 
    {# your code to show the entry #} 
{% endfor %} 
{% get_pages %} 
Showing entries 
{{ pages.current_start_index }}-{{ pages.current_end_index }} of 
{{ pages.total_count }}. 
{{ pages }} 

이 모든 열심히 포함 매김 사업부를 만들 것입니다 Django-endless-pagination document