У меня проблемы с использованием нумерации страниц в Django . Возьмите приведенный ниже URL в качестве примера:
http://127.0.0.1:8000/users/?sort=first_name
На этой странице я сортирую список пользователей по их имени. Без переменной GET сортировки по умолчанию производится сортировка по id.
Теперь, если я нажму следующую ссылку, я ожидаю следующий URL:
http://127.0.0.1:8000/users/?sort=first_name&page=2
Вместо этого я теряю все переменные get и получаю
http://127.0.0.1:8000/users/?page=2
Это проблема, потому что вторая страница сортируется по идентификатору вместо first_name.
Если я использую request.get_full_path, я в конечном итоге получу ужасный URL:
http://127.0.0.1:8000/users/?sort=first_name&page=2&page=3&page=4
Какое решение? Есть ли способ получить доступ к переменным GET в шаблоне и заменить значение для страницы?
Я использую нумерацию страниц, как описано в Документация Django , и я предпочитаю продолжать использовать ее. Код шаблона, который я использую, похож на этот:
{% if contacts.has_next %}
<a href="?page={{ contacts.next_page_number }}">next</a>
{% endif %}