Я использую следующий вид на основе функций для создания нумерации страниц.В этих представлениях нет ошибок, но то, как я использую контекст в шаблоне, создает проблему, особенно когда я добавляю {% else page_num > topics.number|add:'-3' and page_num < topics.number|add:'3' %}
в шаблоны.
Views.py
def board_topics(request, pk):
board = get_object_or_404(Board, pk=pk)
queryset = board.topics.annotate(replies_count=Count('posts') - 1).order_by(
'-last_updated')
page = request.GET.get('page', 1)
paginator = Paginator(queryset, 10)
try:
topics = paginator.page(page)
except PageNotAnInteger:
topics = paginator.page(1)
except EmptyPage:
topics = paginator.page(paginator.num_pages)
return render(request, 'board/board_topics.html', {'board': board, 'topics': topics})
и template
здесь:
{% for page_num in topics.paginator.page_range %}
{% if topics.number == page_num %}
{{ page_num }}
{% else page_num > topics.number|add:'-3' and page_num < topics.number|add:'3' %}
<a class="page-link" href="?page={{ page_num }}">{{ page_num }}</a>
{% endif %}
{% endfor %}
Если в шаблоне я заменяю {% else page_num > topics.number|add:'-3' and page_num < topics.number|add:'3' %}
на {% else %}
, то он работает совершенно нормально, но мне нужен первыйработать, так как я не хочу показывать тонны нумерации страниц на моей странице, если есть тысячи тем.
Можете ли вы помочь мне с этой проблемой.Спасибо