Answer the question
In order to leave comments, you need to log in
Adjusting pagination in django?
There is such a code
def articles(request):
all_articles = Article.objects.all()
try:
page = request.GET.get('page')
except:
page = 1
paginator = Paginator(all_articles,1)
try:
articless = paginator.page(page)
except PageNotAnInteger:
articless = paginator.page(1)
except EmptyPage:
articless = paginator.page(paginator.num_pages)
return render_to_response('articles.html',{'articless':articless})
<nav class="text-center">
<ul class="pagination">
{% if articless.has_previous %}
<li><a href="?page={{articless.previous_page_number}}">«</a></li>
{% else %}
<li class="disabled"><a href="">«</a></li>
{% endif %}
{% for page in articless.paginator.page_range %}
{% if page == articless.number %}
<li class="active"><a>{{ page }}</a></li>
{% else %}
<li><a href="?page={{ page }}">{{ page }}</a></li>
{% endif %}
{% endfor %}
{% if articless.has_next %}
<li><a href="?page={{articless.next_page_number }}">»</a></li>
{% else %}
<li class="disabled"><a href="">»</a></li>
{% endif %}
</ul>
</nav>
Answer the question
In order to leave comments, you need to log in
For example, a piece from my old code:
<div class="page-nav">
{% if paginator.page.has_previous %}
<!-- Показывам кнопку со ссылкой, если есть предыдущая страница -->
<a href="{% url 'newslines:show_page' paginator.page.previous_page_number %}">< Вперед</a>
{% else %}
<!-- Показываем неактивную кнопку, если предыдущей страницы нет -->
<span>< Вперед</span>
{% endif %}
<!-- Прибавляем к номеру текущей страницы -4 (т.е. отнимаем 4) -->
{% if paginator.page.number|add:'-4' > 0 %}
<!-- Если до текущей страницы есть больше 4 страниц, показываем многоточие -->
<span class="ellipsis">...</span>
{% endif %}
{% if paginator.page.number|add:'-3' > 0 %}
<!-- Если до текущей страницы есть ещё три страницы -->
<a href="{% url 'newslines:show_page' paginator.page.number|add:'-3' %}">{{ paginator.page.number|add:'-3' }}</a>
{% endif %}
{% if paginator.page.number|add:'-2' > 0 %}
<!-- Если до текущей страницы есть ещё две страницы -->
<a href="{% url 'newslines:show_page' paginator.page.number|add:'-2' %}">{{ paginator.page.number|add:'-2' }}</a>
{% endif %}
{% if paginator.page.number|add:'-1' > 0 %}
<!-- Если до текущей страницы есть ещё одна страница -->
<a href="{% url 'newslines:show_page' paginator.page.number|add:'-1' %}">{{ paginator.page.number|add:'-1' }}</a>
{% endif %}
<!-- Номер текущей страницы -->
<span>{{ paginator.page.number }}</span>
{% if paginator.page.number|add:'1' <= paginator.num_pages %}
<!-- Если после текущей страницы есть ещё одна страница -->
<a href="{% url 'newslines:show_page' paginator.page.number|add:'1' %}">{{ paginator.page.number|add:'1' }}</a>
{% endif %}
{% if paginator.page.number|add:'2' <= paginator.num_pages %}
<!-- Если после текущей страницы есть ещё две страницы -->
<a href="{% url 'newslines:show_page' paginator.page.number|add:'2' %}">{{ paginator.page.number|add:'2' }}</a>
{% endif %}
{% if paginator.page.number|add:'3' <= paginator.num_pages %}
<!-- Если после текущей страницы есть ещё три страницы -->
<a href="{% url 'newslines:show_page' paginator.page.number|add:'3' %}">{{ paginator.page.number|add:'3' }}</a>
{% endif %}
{% if paginator.page.number|add:'4' <= paginator.num_pages %}
<!-- Если после текущей страницы есть ещё четыре страницы -->
<span class="ellipsis">...</span>
{% endif %}
{% if paginator.page.has_next %}
<!-- Показывам кнопку со ссылкой, если есть следующая страница -->
<a href="{% url 'newslines:show_page' paginator.page.next_page_number %}">Назад ></a>
{% else %}
<!-- Если нет следующей страницы -->
<span>Назад ></span>
{% endif %}
</div>
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question