Не удалось разобрать остаток: '()' из 'forloop.counter|add:page_obj.start_index()'
Я пытаюсь использовать значение 'start_index' из объекта 'get_page()' пагинатора. Это необходимо для того, чтобы мой цикл for мог отображать id элемента в соответствии с количеством предыдущих элементов на предыдущих страницах. Когда я пытаюсь добавить это значение в счетчик цикла for внутри шаблона, я получаю следующую ошибку:
Мое мнение:
def openAllOrders(request):
orders = cache_getFilteredOrders(request)
orders_per_page = 10
paginator = Paginator(orders, orders_per_page)
page_number = int(request.GET.get('page', 1))
page_obj = paginator.get_page(page_number)
orders_before = (page_number-1) * orders_per_page
page_orders = page_obj.object_list
tbody_html = getOrdersTable(request, page_orders, orders_before)
context = dict(tbody=tbody_html,
page_obj=page_obj,
type=request.GET.get('type'),
date_start=request.GET.get('date_start'),
date_end=request.GET.get('date_end'),
orders_amount=len(orders),)
return render(request, "order.html", context)
значениеpage_obj.start_index() в отладчике:
что я делаю не так, и как правильно добавить это значение в счетчик forloop? Заранее спасибо!
Если шаблон имеет некорректный синтаксис, он вызывает ошибку TemplateSyntaxError. Здесь start_index должен быть вызван без скобок, и я бы предложил использовать forloop.counter0 вместо forloop.counter.
{{ forloop.counter0|add:page_obj.start_index }}