Qwizi 6 Października 2018 6 Października 2018 Witam, chciałbym uzyskać taką paginacje. Chodzi o usunięcie limitu paginacji stronnicowania na django CMS zamiast takiej chodzi mi o to, żeby po dziesiątce pojawiły się kropki a po nich ostatnia strona. Jak mogę to osiągnąć? views.py from django.shortcuts import render from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from .models import Bans def bans_index(request): bans_list = Bans.objects.order_by('-created') paginator = Paginator(bans_list, 15) page = request.GET.get('page') bans = paginator.get_page(page) return render(request, 'sourcebans/bans_index.html', {'bans': bans}) bans_index.html (wycinek) <div class="col-md-12"> <nav aria-label="Page navigation example"> <ul class="pagination"> {% if bans.has_previous %} <li class="page-item"> <a class="page-link" href="?page={{ bans.previous_page_number }}" aria-label="Previous"> <span aria-hidden="true">«</span> <span class="sr-only">Previous</span> </a> </li> {% endif %} {% for i in bans.paginator.page_range %} {% if bans.number == i %} <li class="page-item active"><span class="page-link">{{ i }} <span class="sr-only">(current)</span></span></li> {% else %} <li class="page-item"><a class="page-link" href="?page={{ i }}">{{ i }}</a></li> {% endif %} {% endfor %} {% if bans.has_next %} <li class="page-item"> <a class="page-link" href="?page={{ bans.next_page_number }}" aria-label="Next"> <span aria-hidden="true">»</span> <span class="sr-only">Next</span> </a> </li> {% endif %} </ul> </nav> </div> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 6 Października 2018 6 Października 2018 (edytowane) Na Django się nie znam, więc tu nie pomogę. Jednak zasada paginacji zawsze jest ta sama. A podobny wygląd robiłem nawet niedawno i też w Twigu To jest za duże: bans.paginator.page_range Tam powinno znajdować się tylko 10 stron począwszy od tej, na której jesteś. Kolejnym krokiem jest warunek, jeśli ostatnia strona z zakresu jest mniejsza od ostatniej strony (ogólnie) minus 1, to wyświetl wielokropek. Następny warunek, jeśli ostatnia strona z zakresu nie jest równa ostatniej stronie (ogólnie) , to wyświetl link do ostaniej strony. No i na sam koniec wyświetl link 'dalej'. Najlepiej też z warunkiem - jeśli aktualna strona nie jest równa ostatniej stronie (ogólnie). Edytowane 6 Października 2018 przez El Profesor Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Qwizi 7 Października 2018 Autor 7 Października 2018 Dzięki za wytłumaczenie ale znalazłem GitHub - alrusdi/django_digg_paginator: Digg-like Paginator from Django Snippets. I działa swietnie ☺️ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.