@@ -141,6 +141,7 @@ def render(self, context):
141141 show_first_last = strToBool (kwargs .get ("show_first_last" , "false" ))
142142 first_label = str (kwargs .get ("first_label" , "«" ))
143143 last_label = str (kwargs .get ("last_label" , "»" ))
144+ show_index_range = strToBool (kwargs .get ("show_index_range" , "false" ))
144145
145146 url_view_name = kwargs .get ("url_view_name" , None )
146147 if url_view_name is not None :
@@ -181,8 +182,13 @@ def render(self, context):
181182 # Generate our URLs (page range + special urls for first, previous, next, and last)
182183 page_urls = []
183184 for curpage in page_range :
185+ if curpage == page .paginator .num_pages :
186+ index_range = "%s-%s" % (1 + (curpage - 1 ) * page .paginator .per_page , len (page .paginator .object_list ), )
187+ else :
188+ index_range = "%s-%s" % (1 + (curpage - 1 ) * page .paginator .per_page , curpage * page .paginator .per_page , )
189+
184190 url = get_page_url (curpage , context .current_app , url_view_name , url_extra_args , url_extra_kwargs , url_param_name , url_get_params , url_anchor )
185- page_urls .append ((curpage , url ))
191+ page_urls .append ((curpage , index_range , url ))
186192
187193 first_page_url = None
188194 if current_page >= 1 :
@@ -204,6 +210,7 @@ def render(self, context):
204210 Context ({
205211 'page' : page ,
206212 'size' : size ,
213+ 'show_index_range' : show_index_range ,
207214 'show_prev_next' : show_prev_next ,
208215 'show_first_last' : show_first_last ,
209216 'previous_label' : previous_label ,
0 commit comments