django - variable - is not a registered tag library



django paginer le résultat de la recherche originale (1)

il vous manque une chaîne de requête avec toutes vos données de formulaire

La solution la plus simple sera d'utiliser django-url-tools , puis dans les liens de la page précédente / suivante, vous ajouterez:

{% load urls %}

...

{% add_params request.get_full_path page=page_obj.previous_page_number %}

...

{% add_params request.get_full_path page=page_obj.next_page_number %}

J'utilise ListView pour afficher le résultat de la recherche, et en utilisant des formulaires pour laisser les valeurs de recherche, voici le problème: quand j'obtiens des résultats de recherche, disons 50 items, et que je règle l'item_per_page 30, j'ai deux pages , mais maintenant, quand je clique sur le lien de la page suivante, il oublie l'ancienne requête de recherche et me montre tous les éléments de la page 2, comment résoudre ce problème? Mon code est ci-dessous:

mes champs de formulaire sont comme ceci:

<form method="get" action="{% url 'query_student' %}">
      #the form fields
</form>       

mon modèle de pagination:

{% if is_paginated %}
        <div class="pages">
                {% if page_obj.has_previous %}
                        <a href="/student/querystudent?page={{ page_obj.previous_page_number }}">previous</a>
                {% endif %}
                <span class="btnon">
                        page {{ page_obj.number }}  total {{ page_obj.paginator.num_pages }} 
                </span>
                {% if page_obj.has_next %}
                        <a href="/student/querystudent?page={{ page_obj.next_page_number }}">>next</a>
                {% endif %}
        </div>
{% endif %}




pagination