def extend_paginator(cls, page_items: Page): """Дополняет объект постраничной навигации. :param page_items: """ max_pages_before_after = 10 page = page_items.number min_page_before = page - max_pages_before_after if min_page_before < 1: min_page_before = 0 max_page_after = page + max_pages_before_after if max_page_after > page_items.paginator.num_pages: max_page_after = page_items.paginator.num_pages page_items.before_current = reversed( range(page - 1, min_page_before, -1)) page_items.after_current = range(page + 1, max_page_after + 1)