Пагинация не работает для промежуточных чисел, а также для обратных в django

Я фильтрую данные, а также применяю пагинатор, я нашел решение и использовал его, но оно работает только для следующей кнопки, а не для предыдущей и номеров кнопок между ними, т.е. для {{i}}. (Django, python)

это файл template_tag myapp_extra.py

from django import template

register = template.Library()

@register.simple_tag

def my_url(value, field_name, urlencode=None):
    url = '?{}={}'.format(field_name, value)

    if urlencode:
        querystring = urlencode.split('&')
        filterd_querystring = filter(lambda p: p.split('=')[0]!=field_name, querystring)
        encoded_querystring = '&'.join(filterd_querystring)
        url = '{}&{}'.format(url, encoded_querystring)

    return url

в моем html

{% load myapp_extra %}
<other code>
<nav>
          <ul class="pagination rounded-separated justify-content-center" style="float: right; margin-top: 1%;">
            {% if employees_attendance_list.has_previous %}
            <li class="page-item"><a class="page-link" href="{% my_url employees_attendance_list.previous_page_number 'page' request.GET.urlencode }"><i class="mdi mdi-chevron-left"></i></a></li>
            {% else %}
            <li class="disabled"></li>
            {% endif %}
            
            {% for i in employees_attendance_list.paginator.page_range %}
            {% if employees_attendance_list.number == i %}
            <li class="page-item active"><a class="page-link" >{{ i }}</a></li>
            {% else %}
            <li class="page-item"><a class="page-link" href="{% my_url i 'page' request.GET.urlencode}">{{ i }}</a></li>
            {% endif %}
            {% endfor %}
            {% if employees_attendance_list.has_next %}
            <li class="page-item"><a class="page-link" href="{% my_url employees_attendance_list.next_page_number 'page' request.GET.urlencode %}"><i class="mdi mdi-chevron-right"></i></a></li>
            {% else %}
            <li class="disabled"></li>
            {% endif %}
          </ul>
        </nav>

в просмотрах

  page = request.GET.get('page', 1)
    paginator = Paginator(employees_attendance, settings.PAGE_LIMIT)
    
    try:
        employees_attendance_list = paginator.page(page)
    except PageNotAnInteger:
        employees_attendance_list = paginator.page(1)
    except EmptyPage:
        employees_attendance_list = paginator.page(paginator.num_pages)

Я внес некоторые изменения в свой html

        <nav>
          <ul class="pagination rounded-separated justify-content-center" style="float: right; margin-top: 1%;">
          {% for i in employees_attendance_list.paginator.page_range %}
            <li class="page-item">
              <a class="page-link" href="{% my_url i 'page' request.GET.urlencode %}">{{ i }}</a>
            </li>
          {% endfor %}
        </ul>
        </nav>
Вернуться на верх