Having, for example, 34 pages, ''get_elided_page_range'' will always
return ''1 2 3 4 … 33 34'' range **regardless** of the current page
number.
**views.py**
{{{
class TopicListView(ListView):
model = Topic
context_object_name = 'topics'
template_name = 'topics.html'
paginate_by = 3
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
context['board'] = self.board
return context
def get_queryset(self):
self.board = get_object_or_404(Board,
id=self.kwargs.get('board_id'))
queryset = self.board.topics.order_by('last_updated').\
annotate(replies=Count('posts') - 1)
return queryset
}}}
**topics.html**
{{{
...
{% for page_num in paginator.get_elided_page_range %}
{{ page_num }}
{% endfor %}
...
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/33144>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* resolution: => invalid
Comment:
Thanks for the report, however it's an issue in your code not in Django
itself. `get_elided_page_range()` is a method not an attribute, and
shouldn't be called directly on templates. You can check how it's used in
admin, see
[https://github.com/django/django/blob/8036b53de61f16098a2f22c50621987182bdfaed/django/contrib/admin/templatetags/admin_list.py#L47-L61
pagination()]. If you're having trouble understanding how Django works,
see TicketClosingReasons/UseSupportChannels for ways to get help
--
Ticket URL: <https://code.djangoproject.com/ticket/33144#comment:1>